是否有一种方法可以使用.txt
从BufferedReader
文件中读取每10行?目前我的BufferedReader
正在读取每一行,拆分不同的值并将它们存储在数组列表中;然后在我的程序中的其他地方使用。
答案 0 :(得分:3)
使用LineNumberReader用于此目的:
LineNumberReader reader = new LineNumberReader(fileReader);
ArrayList<String> goodLines = new ArrayList<String>();
String line = null;
while ((line = reader.readLine()) != null) {
if ((reader.getLineNumber()+1) % 10 == 0) {
goodLines.add(line);
}
}
答案 1 :(得分:1)
使用循环读取您不想要的所有行,然后读取您想要的行。
BufferedReader br = new BufferedReader(new FileReader(file));
int index = 10;
while (lineNumber < index - 1)
{
lineNumber++;
br.readLine();
}
String lineYouWant = br.readLine();
if (lineYouWant.isEmpty()) br.close();
// Do stuff with lineYouWant
br.close();
答案 2 :(得分:0)
缓冲读取器的目的是使读取逻辑单元变得容易。读取多行会使代码复杂化并且不会提供很好的性能提升,因为缓冲读取器已经将大块数据读入其缓冲区。
编辑:由于您的记录是固定大小的,您可以使用较低级别的阅读器,只需读取所需的字节数。
答案 3 :(得分:0)
由于您的所有行都是相同的大小,因此您可以查看BufferedReader中的skip()方法。您基本上会读取一行,然后跳过10 * lineSize并阅读下一行等等......