gpt4 book ai didi

java - BufferedReader 文件内容的偏移量

转载 作者:行者123 更新时间:2023-12-01 12:50:17 25 4
gpt4 key购买 nike

我想获取文件的字符,并且我知道前 128 个字节是垃圾,接下来的 4 个字节为我提供了重要的详细信息。

目前我正在这样做:

    br = new BufferedReader(new FileReader(path));
char[] cbuf = new char[133];
br.read(cbuf, 0, 132);
String importantDetails = "";
for(int i=128;i<132;i++) importantDetails += cbuf[i];

但我觉得这是一种非常丑陋的方法,首先我尝试过:

    String importantDetails = cbuf.toString().substring(128); 

这会产生错误(字符串索引超出范围:-118)。而仅 cbuf.toString() 会打印 [C@d70c109

在java中是否有更好的方法来完成这个任务?

我觉得文件中应该有一个偏移量(因为read(cbuf[],offset,length)的偏移量是cbuf[]中的偏移量,而不是要读取的文件中的偏移量。

最佳答案

您可以使用 RandomAccessFile 来做到这一点。代码:

  RandomAccessFile file = new RandomAccessFile(path, "r");
file.seek(128); // Sets the file-pointer offset
byte[] b = new byte[4];
file.readFully(b);

应该做你想做的事(减去所有错误检查)。

See the javadoc for more details :

关于java - BufferedReader 文件内容的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com