[英]Question about Java File Reader
我在FileReader類上遇到了一些問題。
如何在經過的行中指定偏移量,以及如何告知何時停止? 假設我希望它遍歷.txt文件中的每一行,但只有100-200行然后停止?
我該怎么做? 現在我正在使用ReadLine(),但是我不認為有一種方法可以指定偏移量。
任何快速幫助都非常感謝。 謝謝。
你不能 FileReader一次讀取一個字符或一次讀取一行。 顯然,您可以編寫自己的代碼來擴展或包裝它,以跳到不需要的行。
旁白:請謹慎使用FileReader或FileWriter-它們使用默認的LOCALE字符集。 如果要強制使用字符集,請使用OutputStreamWriter或InputStreamReader。 例
Writer w = new FileWriter(file)可以替換為Writer w = new OutputStreamWriter(new FileOutputStream(file),“ UTF-8”); <===看看如何設置字符集。
讀取所有行,但使用另一個變量來計算您所在的行。 如果您不想處理的行(例如,在第100行之前),請呼叫continue
如果您不想處理更多的行(在第200行之后),請break
。
沒有一種方法可以告訴讀者僅讀取某些行,您可以使用計數器來完成。
try {
BufferedReader in = new BufferedReader(new FileReader("infilename"));
String str;
int lineNumber = 0;
while ((str = in.readLine()) != null) {
lineNumber++;
if (lineNumber >= 100 && lineNumber <= 200) {
System.out.println("Line " + lineNumber + ": " + str);
}
}
in.close();
} catch (IOException e) { }
BufferedReader in = new BufferedReader(new FileReader("foo.in"));
for(int i=0;i<100;i++,in.readLine()){}
String line101 = in.readLine();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.