FileReader クラスに問題があります。
通過する行のオフセットを指定するにはどうすればよいですか? また、停止するタイミングをどのように伝えるのですか? .txt ファイルの各行を通過させたいとしましょう。
どうすればいいですか?現在 ReadLine() を使用していますが、それでオフセットを指定する方法はないと思います。
迅速なヘルプは非常に高く評価されます。ありがとう。
FileReader クラスに問題があります。
通過する行のオフセットを指定するにはどうすればよいですか? また、停止するタイミングをどのように伝えるのですか? .txt ファイルの各行を通過させたいとしましょう。
どうすればいいですか?現在 ReadLine() を使用していますが、それでオフセットを指定する方法はないと思います。
迅速なヘルプは非常に高く評価されます。ありがとう。
できません。FileReader は、一度に 1 文字または 1 行ずつ読み取ります。明らかに、それを拡張またはラップして不要な行にスキップする独自のコードを作成できます。
余談ですが、FileReader または FileWriter の使用には注意してください。これらはデフォルトの LOCALE 文字セットを使用します。文字セットを強制する場合は、OutputStreamWriter または InputStreamReader を使用します。例
Writer w = new FileWriter(file) は Writer w = new OutputStreamWriter(new FileOutputStream(file),"UTF-8"); に置き換えることができます。<=== 文字セットの設定方法を参照してください。
すべての行を読み取りますが、別の変数を使用して現在の行を数えます。continue
処理したくない行 (たとえば、100 行目より前) にいるbreak
場合、およびこれ以上行を処理したくない場合 (200 行目以降) に呼び出します。
読者に特定の行だけを読むように指示する方法はありません。カウンターを使用してそれを行うことができます。
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();