文件描述符

摘要

函数

AFileDescriptor_create(JNIEnv *env)
jobject
返回一个新的 java.io.FileDescriptor。
AFileDescriptor_getFd(JNIEnv *env, jobject fileDescriptor)
int
返回给定 java.io.FileDescriptor 所代表的 Unix 文件描述符。
AFileDescriptor_setFd(JNIEnv *env, jobject fileDescriptor, int fd)
void
设置给定 java.io.FileDescriptor 所代表的 Unix 文件描述符。

函数

AFileDescriptor_create

声明于 android/file_descriptor_jni.h
jobject AFileDescriptor_create(
  JNIEnv *env
)

返回一个新的 java.io.FileDescriptor。

创建的 FileDescriptor 代表一个无效的 Unix 文件描述符(由文件描述符值 -1 表示)。

此方法的调用者应注意,它可能会失败,返回 NULL 并附带待处理的 Java 异常。

自 API 级别 31 起可用。

详细信息
参数
env
指向当前线程的 JNI 原生接口的指针。
返回值
成功时返回一个 java.io.FileDescriptor,如果堆内存不足则返回 nullptr。

AFileDescriptor_getFd

声明于 android/file_descriptor_jni.h
int AFileDescriptor_getFd(
  JNIEnv *env,
  jobject fileDescriptor
)

返回给定 java.io.FileDescriptor 所代表的 Unix 文件描述符。

返回值为 -1 表示 fileDescriptor 代表一个无效的文件描述符。

如果 fileDescriptor 不是 java.io.FileDescriptor 的实例,则中止程序。

自 API 级别 31 起可用。

详细信息
参数
env
指向当前线程的 JNI 原生接口的指针。
fileDescriptor
一个 java.io.FileDescriptor 实例。
返回值
fileDescriptor 封装的 Unix 文件描述符。

AFileDescriptor_setFd

声明于 android/file_descriptor_jni.h
void AFileDescriptor_setFd(
  JNIEnv *env,
  jobject fileDescriptor,
  int fd
)

设置给定 java.io.FileDescriptor 所代表的 Unix 文件描述符。

此函数不对 Unix 文件描述符参数 fd 执行任何验证。Android 使用值 -1 表示无效的文件描述符,所有其他值都被认为是有效的。文件描述符的有效性可以使用 FileDescriptor::valid() 进行检查。

如果 fileDescriptor 不是 java.io.FileDescriptor 的实例,则中止程序。

自 API 级别 31 起可用。

详细信息
参数
env
指向当前线程的 JNI 原生接口的指针。
fileDescriptor
一个 java.io.FileDescriptor 实例。
fd
fileDescriptor 随后将代表的 Unix 文件描述符。