直接访问文件中的数据

Alo*_*Leo 0 java

如何在辅助存储设备的文件中"直接"访问第200个和第300个字符之间的数据?

Nei*_*ett 6

用一个java.io.RandomAccessFile.伪代码:

byte[] buffer = new byte[100];
RandomAccessFile r = new RandomAccessFile("path/to/file", "r");
r.seek(200);
r.read(buffer, 0, 100);
Run Code Online (Sandbox Code Playgroud)

只需添加错误检查以获得稳健性;-)

哦,你说你想读字符,但文件操作是按字节工作的.如果要读取字符,则必须担心文件编码是什么.如果编码类似于UTF-8,那么您不能只跳到固定的字节索引,因为每个UTF字符都可以编码为可变数量的字节.在这种情况下,您只需从头开始读取文件.