Package ucar.unidata.io.s3
Class S3RandomAccessFile
- java.lang.Object
-
- ucar.unidata.io.RandomAccessFile
-
- ucar.unidata.io.RemoteRandomAccessFile
-
- ucar.unidata.io.s3.S3RandomAccessFile
-
- All Implemented Interfaces:
Closeable,DataInput,DataOutput,AutoCloseable,ucar.nc2.util.cache.FileCacheable,ucar.unidata.io.ReadableRemoteFile
public final class S3RandomAccessFile extends ucar.unidata.io.RemoteRandomAccessFile implements ucar.unidata.io.ReadableRemoteFile, Closeable
Manage random access file level access to objects stored on AWS S3 compatible Object Stores. Extensions toRandomAccessFileandRemoteRandomAccessFilefor objects stored on AWS S3 compatible Object Stores.- Since:
- 5.3.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classS3RandomAccessFile.ProviderHook into service provider interface to RandomAccessFileProvider.
-
Field Summary
-
Fields inherited from class ucar.unidata.io.RemoteRandomAccessFile
defaultMaxReadCacheSize, defaultRemoteFileBufferSize, defaultRemoteFileTimeout, url
-
Fields inherited from class ucar.unidata.io.RandomAccessFile
allFiles, BIG_ENDIAN, bigEndian, buffer, bufferModified, bufferStart, dataEnd, dataSize, debugAccess, debugLeaks, defaultBufferSize, endOfFile, file, fileChannel, filePosition, LITTLE_ENDIAN, location, openFiles, readonly, showOpen, showRead
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseRemote()longgetLastModified()StringgetLocation()StringgetObjectName()longlength()intreadRemote(long pos, byte[] buff, int offset, int len)Read directly from the remote service All reading goes through here or readToByteChannel; 1.-
Methods inherited from class ucar.unidata.io.RandomAccessFile
acquire, acquire, eject, enableDefaultGlobalFileCache, flush, getAllFiles, getBufferSize, getDebugLeaks, getDebugNbytes, getDebugNseeks, getFilePointer, getGlobalFileCache, getMaxOpenFileCount, getOpenFileCount, getOpenFiles, getRandomAccessFile, isAtEndOfFile, isDirectory, order, order, reacquire, read, read, read, readBoolean, readBuffer, readByte, readBytes, readBytes, readChar, readDouble, readDouble, readFloat, readFloat, readFully, readFully, readInt, readInt, readIntUnbuffered, readLine, readLine, readLong, readLong, readShort, readShort, readString, readString, readStringMax, readStringMax, readUnsignedByte, readUnsignedShort, readUTF, release, searchForward, seek, setBufferSize, setDebugAccess, setDebugLeaks, setExtendMode, setFileCache, setGlobalFileCache, setMinLength, shutdown, skipBytes, skipBytes, toString, unread, write, write, write, writeBoolean, writeBoolean, writeByte, writeBytes, writeBytes, writeBytes, writeChar, writeChar, writeChar, writeChar, writeChar, writeChar, writeChars, writeChars, writeChars, writeDouble, writeDouble, writeDouble, writeDouble, writeDouble, writeDouble, writeFloat, writeFloat, writeFloat, writeFloat, writeFloat, writeFloat, writeInt, writeInt, writeInt, writeInt, writeInt, writeInt, writeLong, writeLong, writeLong, writeLong, writeLong, writeLong, writeShort, writeShort, writeShort, writeShort, writeShort, writeShort, writeUTF
-
-
-
-
Method Detail
-
closeRemote
public void closeRemote()
- Specified by:
closeRemotein interfaceucar.unidata.io.ReadableRemoteFile
-
readRemote
public int readRemote(long pos, byte[] buff, int offset, int len) throws IOExceptionRead directly from the remote service All reading goes through here or readToByteChannel; 1. https://docs.aws.amazon.com/AmazonS3/latest/dev/RetrievingObjectUsingJava.html- Specified by:
readRemotein interfaceucar.unidata.io.ReadableRemoteFile- Parameters:
pos- start here in the filebuff- put data into this bufferoffset- buffer offsetlen- this number of bytes- Returns:
- actual number of bytes read
- Throws:
IOException- on io error
-
length
public long length()
- Overrides:
lengthin classucar.unidata.io.RandomAccessFile
-
getLastModified
public long getLastModified()
- Specified by:
getLastModifiedin interfaceucar.nc2.util.cache.FileCacheable- Overrides:
getLastModifiedin classucar.unidata.io.RandomAccessFile
-
getLocation
public String getLocation()
- Specified by:
getLocationin interfaceucar.nc2.util.cache.FileCacheable- Overrides:
getLocationin classucar.unidata.io.RandomAccessFile
-
getObjectName
public String getObjectName()
-
-