public class AssetFileDescriptor extends Object implements Parcelable, Closeable
Modifier and Type | Class and Description |
---|---|
static class |
AssetFileDescriptor.AutoCloseInputStream
An InputStream you can create on a ParcelFileDescriptor, which will
take care of calling
ParcelFileDescritor.close() for you when the stream is closed. |
static class |
AssetFileDescriptor.AutoCloseOutputStream
An OutputStream you can create on a ParcelFileDescriptor, which will
take care of calling
ParcelFileDescritor.close() for you when the stream is closed. |
Parcelable.ClassLoaderCreator<T>, Parcelable.Creator<T>
Modifier and Type | Field and Description |
---|---|
static Parcelable.Creator<AssetFileDescriptor> |
CREATOR |
static long |
UNKNOWN_LENGTH
Length used with
AssetFileDescriptor(ParcelFileDescriptor, long, long)
and getDeclaredLength() when a length has not been declared. |
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_ELIDE_DUPLICATES, PARCELABLE_WRITE_RETURN_VALUE
Constructor and Description |
---|
AssetFileDescriptor(ParcelFileDescriptor fd,
long startOffset,
long length)
Create a new AssetFileDescriptor from the given values.
|
AssetFileDescriptor(ParcelFileDescriptor fd,
long startOffset,
long length,
Bundle extras)
Create a new AssetFileDescriptor from the given values.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Convenience for calling
getParcelFileDescriptor().close() . |
FileInputStream |
createInputStream()
Create and return a new auto-close input stream for this asset.
|
FileOutputStream |
createOutputStream()
Create and return a new auto-close output stream for this asset.
|
int |
describeContents()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation.
|
long |
getDeclaredLength()
Return the actual number of bytes that were declared when the
AssetFileDescriptor was constructed.
|
Bundle |
getExtras()
Returns any additional details that can be used to interpret the
underlying file descriptor.
|
FileDescriptor |
getFileDescriptor()
Returns the FileDescriptor that can be used to read the data in the
file.
|
long |
getLength()
Returns the total number of bytes of this asset entry's data.
|
ParcelFileDescriptor |
getParcelFileDescriptor()
The AssetFileDescriptor contains its own ParcelFileDescriptor, which
in addition to the normal FileDescriptor object also allows you to close
the descriptor when you are done with it.
|
long |
getStartOffset()
Returns the byte offset where this asset entry's data starts.
|
String |
toString()
Returns a string representation of the object.
|
void |
writeToParcel(Parcel out,
int flags)
Flatten this object in to a Parcel.
|
public static final long UNKNOWN_LENGTH
AssetFileDescriptor(ParcelFileDescriptor, long, long)
and getDeclaredLength()
when a length has not been declared. This means
the data extends to the end of the file.public static final Parcelable.Creator<AssetFileDescriptor> CREATOR
public AssetFileDescriptor(ParcelFileDescriptor fd, long startOffset, long length)
fd
- The underlying file descriptor.startOffset
- The location within the file that the asset starts.
This must be 0 if length is UNKNOWN_LENGTH.length
- The number of bytes of the asset, or
UNKNOWN_LENGTH
if it extends to the end of the file.public AssetFileDescriptor(ParcelFileDescriptor fd, long startOffset, long length, Bundle extras)
fd
- The underlying file descriptor.startOffset
- The location within the file that the asset starts.
This must be 0 if length is UNKNOWN_LENGTH.length
- The number of bytes of the asset, or
UNKNOWN_LENGTH
if it extends to the end of the file.extras
- additional details that can be used to interpret the
underlying file descriptor. May be null.public ParcelFileDescriptor getParcelFileDescriptor()
public FileDescriptor getFileDescriptor()
public long getStartOffset()
public Bundle getExtras()
public long getLength()
UNKNOWN_LENGTH
if the asset extends to the end of the file.
If the AssetFileDescriptor was constructed with UNKNOWN_LENGTH
,
this will use ParcelFileDescriptor.getStatSize()
to find the total size of the file,
returning that number if found or UNKNOWN_LENGTH
if it could
not be determined.getDeclaredLength()
public long getDeclaredLength()
UNKNOWN_LENGTH
if the length was not declared, meaning data
should be read to the end of the file.getDeclaredLength()
public void close() throws IOException
getParcelFileDescriptor().close()
.close
in interface Closeable
close
in interface AutoCloseable
IOException
- if an I/O error occurspublic FileInputStream createInputStream() throws IOException
AssetFileDescriptor.AutoCloseInputStream
, or
an underlying ParcelFileDescriptor.AutoCloseInputStream
depending on whether the
the object represents a complete file or sub-section of a file. You
should only call this once for a particular asset.IOException
public FileOutputStream createOutputStream() throws IOException
AssetFileDescriptor.AutoCloseOutputStream
, or
an underlying ParcelFileDescriptor.AutoCloseOutputStream
depending on whether the
the object represents a complete file or sub-section of a file. You
should only call this once for a particular asset.IOException
public String toString()
Object
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
public int describeContents()
Parcelable
Parcelable.writeToParcel(Parcel, int)
,
the return value of this method must include the
Parcelable.CONTENTS_FILE_DESCRIPTOR
bit.describeContents
in interface Parcelable
Parcelable.CONTENTS_FILE_DESCRIPTOR
public void writeToParcel(Parcel out, int flags)
Parcelable
writeToParcel
in interface Parcelable
out
- The Parcel in which the object should be written.flags
- Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE
.