Most visited

Recently visited

Added in API level 1

AssetFileDescriptor

public class AssetFileDescriptor
extends Object implements Parcelable, Closeable

java.lang.Object
   ↳ android.content.res.AssetFileDescriptor


AssetManager中条目的文件描述符。 这提供了您自己打开的FileDescriptor,可用于读取数据,以及文件中该条目数据的偏移量和长度。

Summary

Nested classes

class AssetFileDescriptor.AutoCloseInputStream

您可以在ParcelFileDescriptor上创建一个InputStream,它将负责在流关闭时为您调用ParcelFileDescritor.close() 。

class AssetFileDescriptor.AutoCloseOutputStream

一个可以在ParcelFileDescriptor上创建的OutputStream,它可以在流关闭时为您调用ParcelFileDescritor.close() 。

Constants

long UNKNOWN_LENGTH

长度 AssetFileDescriptor(ParcelFileDescriptor, long, long) getDeclaredLength()时与 AssetFileDescriptor(ParcelFileDescriptor, long, long)和 getDeclaredLength()使用的长度。

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<AssetFileDescriptor> CREATOR

Public constructors

AssetFileDescriptor(ParcelFileDescriptor fd, long startOffset, long length)

根据给定值创建一个新的AssetFileDescriptor。

AssetFileDescriptor(ParcelFileDescriptor fd, long startOffset, long length, Bundle extras)

根据给定值创建一个新的AssetFileDescriptor。

Public methods

void close()

方便拨打 getParcelFileDescriptor().close() 。

FileInputStream createInputStream()

为此资产创建并返回新的自动关闭输入流。

FileOutputStream createOutputStream()

为此资产创建并返回新的自动关闭输出流。

int describeContents()

描述此Parcelable实例的封送表示中包含的特殊对象的种类。

long getDeclaredLength()

返回构造AssetFileDescriptor时声明的实际字节数。

Bundle getExtras()

返回可用于解释底层文件描述符的任何其他详细信息。

FileDescriptor getFileDescriptor()

返回可用于读取文件中数据的FileDescriptor。

long getLength()

返回此资产条目数据的总字节数。

ParcelFileDescriptor getParcelFileDescriptor()

AssetFileDescriptor包含自己的ParcelFileDescriptor,除了普通的FileDescriptor对象外,还允许您在完成描述符时关闭该描述符。

long getStartOffset()

返回此资产条目数据开始处的字节偏移量。

String toString()

返回对象的字符串表示形式。

void writeToParcel(Parcel out, int flags)

将此对象平铺到一个包裹中。

Inherited methods

From class java.lang.Object
From interface android.os.Parcelable
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Constants

UNKNOWN_LENGTH

Added in API level 3
long UNKNOWN_LENGTH

长度AssetFileDescriptor(ParcelFileDescriptor, long, long) getDeclaredLength()时与AssetFileDescriptor(ParcelFileDescriptor, long, long)和getDeclaredLength()使用的长度。 这意味着数据会延伸到文件的末尾。

常量值:-1(0xffffffffffffffff)

Fields

CREATOR

Added in API level 3
Creator<AssetFileDescriptor> CREATOR

Public constructors

AssetFileDescriptor

Added in API level 1
AssetFileDescriptor (ParcelFileDescriptor fd, 
                long startOffset, 
                long length)

根据给定值创建一个新的AssetFileDescriptor。

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, or UNKNOWN_LENGTH if it extends to the end of the file.

AssetFileDescriptor

Added in API level 19
AssetFileDescriptor (ParcelFileDescriptor fd, 
                long startOffset, 
                long length, 
                Bundle extras)

根据给定值创建一个新的AssetFileDescriptor。

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, or UNKNOWN_LENGTH if 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

Added in API level 1
void close ()

方便拨打 getParcelFileDescriptor().close() 。

Throws
IOException

createInputStream

Added in API level 3
FileInputStream createInputStream ()

为此资产创建并返回新的自动关闭输入流。 这将返回一个完整的资产AssetFileDescriptor.AutoCloseInputStream或一个底层的ParcelFileDescriptor.AutoCloseInputStream这取决于对象是代表一个完整的文件还是一个文件的子部分。 您应该只针对特定资产调用一次。

Returns
FileInputStream
Throws
IOException

createOutputStream

Added in API level 3
FileOutputStream createOutputStream ()

为此资产创建并返回新的自动关闭输出流。 这将返回一个完整的资产AssetFileDescriptor.AutoCloseOutputStream ,或者一个底层的ParcelFileDescriptor.AutoCloseOutputStream这取决于对象是代表一个完整的文件还是一个文件的子部分。 您应该只针对特定资产调用一次。

Returns
FileOutputStream
Throws
IOException

describeContents

Added in API level 3
int describeContents ()

描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)的输出中包含writeToParcel(Parcel, int) ,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR位。

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.

getDeclaredLength

Added in API level 3
long getDeclaredLength ()

返回构造AssetFileDescriptor时声明的实际字节数。 如果长度未被声明,将为UNKNOWN_LENGTH ,这意味着数据应该读到文件的末尾。

Returns
long

也可以看看:

getExtras

Added in API level 19
Bundle getExtras ()

返回可用于解释底层文件描述符的任何其他详细信息。 可能为null。

Returns
Bundle

getFileDescriptor

Added in API level 1
FileDescriptor getFileDescriptor ()

返回可用于读取文件中数据的FileDescriptor。

Returns
FileDescriptor

getLength

Added in API level 1
long getLength ()

返回此资产条目数据的总字节数。 如果资产扩展到文件的末尾,可能是UNKNOWN_LENGTH 。 如果AssetFileDescriptor与构建UNKNOWN_LENGTH ,这将使用ParcelFileDescriptor.getStatSize()找到该文件的总大小,如果发现或返回这个数字UNKNOWN_LENGTH如果无法确定它。

Returns
long

也可以看看:

getParcelFileDescriptor

Added in API level 1
ParcelFileDescriptor getParcelFileDescriptor ()

AssetFileDescriptor包含自己的ParcelFileDescriptor,除了普通的FileDescriptor对象外,还允许您在完成描述符时关闭该描述符。

Returns
ParcelFileDescriptor

getStartOffset

Added in API level 1
long getStartOffset ()

返回此资产条目数据开始处的字节偏移量。

Returns
long

toString

Added in API level 1
String toString ()

返回对象的字符串表示形式。 一般来说, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

类toString方法Object返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

Added in API level 3
void writeToParcel (Parcel out, 
                int flags)

将此对象平铺到一个包裹中。

Parameters
out Parcel: The Parcel in which the object should be written.
flags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.

Hooray!