我正在尝试使用Java定位二进制文件中特定的字节。我已经阅读了大量有关字节级操作的内容,但是自己也被搞糊涂了。目前,我可以像下面的代码一样循环遍历文件,并告诉它在我想要的字节处停止。但是我知道这种方法并不完美,实际上还有更好的方法。
例如,如果我有一个文件,并且需要返回偏移量000400处的字节,我应该如何从FileInputStream中获取它?
例如,如果我有一个文件,并且需要返回偏移量000400处的字节,我应该如何从FileInputStream中获取它?
public ByteLab() throws FileNotFoundException, IOException {
String s = "/Volumes/Staging/Imaging_Workflow/B.Needs_Metadata/M1126/M1126-0001.001";
File file = new File(s);
FileInputStream in = new FileInputStream(file);
int read;
int count = 0;
while((read = in.read()) != -1){
System.out.println(Integer.toHexString(count) + ": " + Integer.toHexString(read) + "\t");
count++;
}
}
谢谢