如何使用FileReader.read()读取特定偏移的字节?
FileReader fr = new FileReader(path);
char[] tmp = null;
fr.read(tmp, 11, 1);
n = tmp.toString();
n = Integer.parseInt(n,16);
此代码返回nullpointerexception,尽管该文件位于' path'是有效的而不是空的。我打算在这里做的是读取该文件中的第11个字节。
使用BufferedReader.readLine()从文件中读取行在同一个文件上运行良好,但我无法弄清楚如何从特定偏移量开始获取特定数量的字节。
答案 0 :(得分:2)
在read(char[] buf, int offset, int length)
中,偏移量在buf数组中偏移。
您需要的是跳过偏移字符。
FileReader fr = new FileReader(path);
int offset = 11;
fr.skip(11);
int c = fr.read();