0

txt ファイルを取得し、そのファイルの各行を順番に ArrayList の要素にしたいと考えています。また、各行の末尾に「\ n」を付けたくありません。これについてどうすればいいですか?

4

3 に答える 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 に答える