2017-04-13 11 views
2

私は行うべきことがあります。複数行のテキストファイルをロードし、コンソールにテキストを印刷し、テキストを大文字に変換して別のテキストファイルに保存します。ストリームを使用してファイルをロードして処理する

できるだけシンプルにしたいので、私はストリームフォームjava 8を使用しようとしました。それを続ける方法はわかりません。 1つの選択肢は、ストリームをリストに変換してそれを処理することですが、行を削除し、テキスト全体が1行に表示されます。私の選択肢は何ですか?

答えて

4

ファイルに追加すると、あなたに残します:)

Files.lines(Paths.get(fileName)) 
    .peek(System.out::println) 
    .map(String::toUpperCase) 
    .forEach(line-> //*add to file*//) 
+1

確かに、私は順序を修正しました。 – Beri

0
Stream<String> stream = Files.lines(Paths.get(fileName)); 
PrintStream output = new PrintStream(new FileOutputStream("output.txt")); 
stream.map(String::toUpperCase).forEach(output::println); 

// and don't forget to close 
stream.close(); 
output.close(); 
関連する問題