月間18,000PV達成! 収益は毎日発生中! 記事は毎日更新中! 今は農作業中のため東京にいるよ! ギランバレー症候群に関する情報を集めています

【Java】Java8でファイルへの出力処理を書いてみた!

  • 2018.05.19
  • IT
【Java】Java8でファイルへの出力処理を書いてみた!
Advertisement

 

サーバ側の処理でファイルへの出力処理を書くことは多いかと思います。

今回はJava8でファイルへの出力処理を書くとどうなるかを解説していきます。

 

 

Java8でのファイル出力処理

早速ソースコードを記載しておきます。

 

解説

まず、FileOutputStreamを宣言します。FileOutputStreamはファイルへ出力するためのストリームです。

FileOutputStream fileOutputStream = new FileOutputStream(new File("file"));

 

次に、OutputStreamWriterの引数に先ほど作成したFileOutputStreamを渡します。第2引数には文字コードを指定します。

OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");

 

最後に、先ほど作成したOutputStreamWriterをPrintWriter の引数として渡します。これによって、ファイルへ書き込むための準備は完了です。

PrintWriter out = new PrintWriter(new BufferedWriter(outputStreamWriter));

 

ファイルを扱う場合、クローズ文を書かなくてはならないですが、今はtry with resources文というものがあります。今回もそれを使用しているため、わざわざクローズ文は書いていません。
※try with resources文は自動的にクローズが行われるのでコードが簡潔になります。

 

ファイルへの出力はラムダ式を使用します。リストや配列などの内容を扱う場合はラムダ式を使用するとコードがシンプルで分かりやすくなります。

list.forEach(str -> {
   out.println(str);
   out.println("/r/n");
});

 

 

まとめ

ファイルの出力は、いつも「どうやって書くんだっけ?」と考えてしまいますよね。

Java7から今までfinallyで書いていたclose文などを書く必要がなくなりましたし、Java8からはラムダ式を使用できるので、オブジェクトの内容を出力する際もfor文を書く必要がなくなりました。

こういうものは書いていかないと覚えないので自分の備忘録としても残しておきたいと思います。何かの役に立てれば幸いです。

Travelerを知らないの?