AssetFileDescriptor
  public
  
  
  
  class
  AssetFileDescriptor
  
    extends Object
  
  
  
  
  
      implements
      
        Closeable, 
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | android.content.res.AssetFileDescriptor | 
File descriptor of an entry in the AssetManager. This provides your own opened FileDescriptor that can be used to read the data, as well as the offset and length of that entry's data in the file.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | AssetFileDescriptor.AutoCloseInputStreamAn InputStream you can create on a ParcelFileDescriptor, which will
 take care of calling  | 
| 
        
        
        
        
        class | AssetFileDescriptor.AutoCloseOutputStreamAn OutputStream you can create on a ParcelFileDescriptor, which will
 take care of calling  | 
| Constants | |
|---|---|
| long | UNKNOWN_LENGTHLength used with  | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Creator<AssetFileDescriptor> | CREATOR
 | 
| Public constructors | |
|---|---|
| 
      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. | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        void | 
      close()
      Convenience for calling  | 
| 
        
        
        
        
        
        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. | 
| Inherited methods | |
|---|---|
Constants
UNKNOWN_LENGTH
public static final long UNKNOWN_LENGTH
Length used with AssetFileDescriptor(android.os.ParcelFileDescriptor, long, long)
 and getDeclaredLength() when a length has not been declared.  This means
 the data extends to the end of the file.
Constant Value: -1 (0xffffffffffffffff)
Fields
Public constructors
AssetFileDescriptor
public AssetFileDescriptor (ParcelFileDescriptor fd, long startOffset, long length)
Create a new AssetFileDescriptor from the given values.
| Parameters | |
|---|---|
| fd | ParcelFileDescriptor: The underlying file descriptor. | 
| startOffset | long: The location within the file that the asset starts.
            This must be 0 if length is UNKNOWN_LENGTH. | 
| length | long: The number of bytes of the asset, orUNKNOWN_LENGTHif it extends to the end of the file. | 
AssetFileDescriptor
public AssetFileDescriptor (ParcelFileDescriptor fd, long startOffset, long length, Bundle extras)
Create a new AssetFileDescriptor from the given values.
| Parameters | |
|---|---|
| fd | ParcelFileDescriptor: The underlying file descriptor. | 
| startOffset | long: The location within the file that the asset starts.
            This must be 0 if length is UNKNOWN_LENGTH. | 
| length | long: The number of bytes of the asset, orUNKNOWN_LENGTHif it extends to the end of the file. | 
| extras | Bundle: additional details that can be used to interpret the
            underlying file descriptor. May be null. | 
Public methods
close
public void close ()
Convenience for calling getParcelFileDescriptor().close().
| Throws | |
|---|---|
| IOException | |
createInputStream
public FileInputStream createInputStream ()
Create and return a new auto-close input stream for this asset.  This
 will either return a full asset 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.
| Returns | |
|---|---|
| FileInputStream | |
| Throws | |
|---|---|
| IOException | |
createOutputStream
public FileOutputStream createOutputStream ()
Create and return a new auto-close output stream for this asset.  This
 will either return a full asset 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.
| Returns | |
|---|---|
| FileOutputStream | |
| Throws | |
|---|---|
| IOException | |
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
 instance's marshaled representation. For example, if the object will
 include a file descriptor in the output of writeToParcel(android.os.Parcel, int),
 the return value of this method must include the
 CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
| int | a bitmask indicating the set of special object types marshaled
 by this Parcelable object instance.
 Value is either 0orCONTENTS_FILE_DESCRIPTOR | 
getDeclaredLength
public long getDeclaredLength ()
Return the actual number of bytes that were declared when the
 AssetFileDescriptor was constructed.  Will be
 UNKNOWN_LENGTH if the length was not declared, meaning data
 should be read to the end of the file.
| Returns | |
|---|---|
| long | |
See also:
getExtras
public Bundle getExtras ()
Returns any additional details that can be used to interpret the underlying file descriptor. May be null.
| Returns | |
|---|---|
| Bundle | |
getFileDescriptor
public FileDescriptor getFileDescriptor ()
Returns the FileDescriptor that can be used to read the data in the file.
| Returns | |
|---|---|
| FileDescriptor | |
getLength
public long getLength ()
Returns the total number of bytes of this asset entry's data.  May be
 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.
| Returns | |
|---|---|
| long | |
See also:
getParcelFileDescriptor
public 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.
| Returns | |
|---|---|
| ParcelFileDescriptor | |
getStartOffset
public long getStartOffset ()
Returns the byte offset where this asset entry's data starts.
| Returns | |
|---|---|
| long | |
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
public void writeToParcel (Parcel out, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
| out | Parcel: The Parcel in which the object should be written.
 This value cannot benull. | 
| flags | int: Additional flags about how the object should be written.
 May be 0 orParcelable.PARCELABLE_WRITE_RETURN_VALUE.
 Value is either0or a combination ofParcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
