不使用Java流类的Java FileChannel类
我想从文件中进行输入/输出。我的要求是不使用任何java流类。 我做了一些研究,很可能需要使用FileChannel 但是,如何在不使用Java流类的情况下获取特定文件的FileChannel对象不使用Java流类的Java FileChannel类,java,nio,Java,Nio,我想从文件中进行输入/输出。我的要求是不使用任何java流类。 我做了一些研究,很可能需要使用FileChannel 但是,如何在不使用Java流类的情况下获取特定文件的FileChannel对象 是通过使用RandomAccessFile实现的吗?通过使用RandomAccessFile类,我是否满足了“不使用任何java流类”的要求?如果不使用InputStream、OutputStream或RandomAccessFile,就无法访问FileChannel 而RandomAccessFil
是通过使用RandomAccessFile实现的吗?通过使用RandomAccessFile类,我是否满足了“不使用任何java流类”的要求?如果不使用
InputStream
、OutputStream
或RandomAccessFile
,就无法访问FileChannel
而RandomAccessFile
实现了DataInput
和DataOutput
,后者提供了从二进制流读取字节的接口。所以我相信即使是RandomAccessFile
也是一种流类
编辑:
我真的不知道您在什么上下文中将类称为流类RandomAccessFile
仍然可以在您的案例中使用,因为对流的读写对于用户来说非常抽象。它显示了如何以非顺序方式读取或写入文件
通常,我们将IO流分为以下几类
- 字节流处理原始二进制数据的I/O
- 字符流自动处理字符数据的I/O 处理与本地字符集之间的转换
- 缓冲流通过减少数据流的数量来优化输入和输出 对本机API的调用
- 扫描和格式化允许程序读写格式化的文件 文本
- 来自命令行的I/O描述了标准流和 控制台对象
- 数据流处理基本数据类型和字符串的二进制I/O 价值观
- 对象流处理对象的二进制I/O
但是,
RandomAccessFile
不属于上述任何类别,它属于JDK 7发行版(NIO)中引入的I/O机制。它将属于通道I/O而不是流I/O。因此,使用RandomAccessFile
如果不使用InputStream
、OutputStream
或RandomAccessFile
,就无法访问文件通道
而RandomAccessFile
实现了DataInput
和DataOutput
,后者提供了从二进制流读取字节的接口。所以我相信即使是RandomAccessFile
也是一种流类
编辑:
我真的不知道您在什么上下文中将类称为流类RandomAccessFile
仍然可以在您的案例中使用,因为对流的读写对于用户来说非常抽象。它显示了如何以非顺序方式读取或写入文件
通常,我们将IO流分为以下几类
- 字节流处理原始二进制数据的I/O
- 字符流自动处理字符数据的I/O
处理与本地字符集之间的转换
- 缓冲流通过减少数据流的数量来优化输入和输出
对本机API的调用
- 扫描和格式化允许程序读写格式化的文件
文本
- 来自命令行的I/O描述了标准流和
控制台对象
- 数据流处理基本数据类型和字符串的二进制I/O
价值观
- 对象流处理对象的二进制I/O
但是,RandomAccessFile
不属于上述任何类别,它属于JDK 7发行版(NIO)中引入的I/O机制。它将属于通道I/O而不是流I/O。因此,使用RandomAccessFile
如果不允许流,我将使用JNI 如果不允许流,我会使用JNI “需求”是指“家庭作业”吗?“需求”是指“家庭作业”@Kadne在java中有没有一种不使用任何流类的I/O方法?我认为困难不在于使用JNI。@Kadne有没有一种在java中不使用任何流类而进行I/O的可能方法?我认为困难不在于使用JNI。