txt ファイルを取得し、そのファイルの各行を順番に ArrayList の要素にしたいと考えています。また、各行の末尾に「\ n」を付けたくありません。これについてどうすればいいですか?
user1212818
質問する
1217 次
3 に答える
3
私はこれを見つけました。これはJDK7で作成できます。
List<String> readSmallTextFile(String aFileName) throws IOException {
Path path = Paths.get(aFileName);
return Files.readAllLines(path, ENCODING);
}
そしてそれを
ArrayList<String> foo = (ArrayList<String>)readSmallTextFile("bar.txt");
この後、リスト「foo」の各行の不要な文字をフィルタリングできます。
于 2012-10-26T08:35:35.890 に答える
1
これには、次の 3 つの簡単な手順が必要です。
- ファイルから各行を読み取る
- 最後から改行を取り除きます
- に行を追加します
ArrayList<String>
ほら、私はあなたの質問に答えていません。答えのように見えるように、フレームを作り直しました。
while
ループ条件は次のようになります。
Scanner scanner = new Scanner(yourFileObj);
while (scanner.hasNextLine()) {
// nextLine automatically strips `newline` from the end
String line = scanner.nextLine();
// Add your line to your list.
}
更新: -
行ごとに読むのでfile
、 を使用する方がよいでしょうBufferedReader
。トークンを解析して何か特別なことをしたい場合は、スキャナの方が適しています。 each
BufferedReader br = new BufferedReader(new FileReader("fileName"));
String line = null;
// readLine also doesn't include the newline in the line read
while ((line = br.readLine()) != null) {
//add your line to the list
}
于 2012-10-26T08:25:56.627 に答える
1
私は BufferedReader を好みます。これは Scanner よりも高速です
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
ファイルの終わりまで読む
String line = br.readLine(); // read firt line
while ( line != null ) { // read until end of file (EOF)
// process line
line = br.readLine(); // read next line
}
于 2012-10-26T08:34:45.560 に答える