FileDescriptor
Posted 茅坤宝骏氹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FileDescriptor相关的知识,希望对你有一定的参考价值。
一、FileDescriptor |
文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或者字节的另一个源或接收者。文件描述符的主要实际用途是创建一个包含该结构的 FileInputStream
或 FileOutputStream
。
二、
字段摘要 | |
---|---|
static FileDescriptor |
err 标准错误流的句柄。 |
static FileDescriptor |
in
标准输入流的句柄。 |
static FileDescriptor |
out
标准输出流的句柄。 |
try { // 打开文件,获取文件描述符 String fileName = "out.txt"; FileOutputStream os = new FileOutputStream(fileName); FileDescriptor fd = os.getFD(); System.out.println("file name: " + fileName); //写数据入文件 byte[] data = "你好".getBytes(); os.write(data); System.out.println("data: " + data); // 刷新缓冲区 // 数据可能没有写入到磁盘 System.out.println("刷新"); os.flush(); // 阻塞直到数据缓冲区的数据全部写入磁盘 // 该方法返回后,数据已经写入到磁盘 System.out.println("阻塞直到数据缓冲区的数据全部写入磁盘"); fd.sync(); // 关闭流 os.close(); System.out.println("关闭流: " + os); } catch (IOException e) { e.printStackTrace(); }
以上是关于FileDescriptor的主要内容,如果未能解决你的问题,请参考以下文章
Android:MediaPlayer.setDataSource(FileDescriptor fd) vs MediaPlayer.setDataSource(FileDescriptor fd,
iOS NetworkExtension let tunFd = self?.packetFlow.value(forKeyPath: “socket.fileDescriptor“) as! Int
iOS NetworkExtension let tunFd = self?.packetFlow.value(forKeyPath: “socket.fileDescriptor“) as! Int