.txt
有没有一种方法可以使用 ? 从文件中每 10 行读取一次BufferedReader
?目前 myBufferedReader
正在读取每一行,拆分不同的值并将它们存储在数组列表中;然后在我的程序的其他地方使用。
问问题
2401 次
4 回答
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);
}
}
于 2013-03-15T23:44:51.700 回答
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();
于 2013-03-15T23:37:12.070 回答
0
缓冲读取器的目的是使读取逻辑单元(如行)变得容易。读取多行会使您的代码复杂化,并且不会提供很大的性能提升,因为缓冲读取器已经将大块数据读取到其缓冲区中。
编辑:由于您的记录是固定大小的,您可以使用较低级别的阅读器并仅读取所需的字节数。
于 2013-03-15T23:38:13.517 回答
0
由于所有行的大小都相同,您可以查看 BufferedReader 中的skip()方法。您基本上会阅读一行,然后跳过 10 * lineSize 并阅读下一行,等等...
于 2013-03-15T23:43:17.533 回答