[英]Reading every 10 lines using a BufferedReader
是否有一種方法可以使用BufferedReader
從.txt
文件中每10行讀取一次? 目前,我的BufferedReader
正在讀取每一行,拆分不同的值並將它們存儲在數組列表中。 然后在我的程序的其他地方使用。
使用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);
}
}
使用循環讀取不需要的所有行,然后讀取所需的行。
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();
緩沖讀取器的目的是使讀取邏輯單元(如行)變得容易。 讀取多行將使您的代碼復雜化,並且無法提供出色的性能提升,因為緩沖的讀取器已經將大數據塊讀取到其緩沖區中。
編輯:由於您的記錄是固定大小的,因此可以使用較低級別的讀取器,僅讀取所需的字節數。
由於所有行的大小都相同,因此您可以查看BufferedReader中的skip()方法。 您基本上會讀一行,然后跳過10 * lineSize並讀下一行,依此類推...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.