0
iam使用BufferedReader從文件中讀取行。當我從文件中讀取所有行時,我想重新從頭讀取文件,我該怎麼做?在BufferedReader.mark()
和BufferedReader.reset()
不工作properly.this是我的代碼如何重置BufferedReader的位置?
FileReader fR = new FileReader(this.sTargetPath);
final BufferedReader vcfBuffer = new BufferedReader(fR);
// vcfBuffer.mark(0);
Boolean nextLine = true;
while (nextLine) {
try {
String line = vcfBuffer.readLine();
}
} catch (IOException e) {
nextLine = false;
}
}
}
vcfBuffer.reset();
我怎麼能重置BufferedReader中的位置?感謝您幫助
再次創建一個新的緩衝閱讀器對象。或者使用'RandomAccesFile'' seek(0)'方法。 – Ronnie
除了創建另一個閱讀器之外沒有別的辦法嗎?我不認爲這是個好主意,它可行,但效率不高? – AnasBakez
我認爲你可以在閱讀第一行之前創建一個標記,然後你可以稍後使用方法reset()返回到那一點,但我之前沒有嘗試過。 – Martin