Java:PrintWriterをつかってみる
Last-modified: 2013-12-01 (日) 13:56:18 (3396d)
Top / Java:PrintWriterをつかってみる
Java:PrintWriter?をつかってみる †
PrintWriter?は、println()で1行ファイルに書き込んだりできるので便利です。
端的にはこんな感じで使います。
PrintWriter writer = new PrintWriter(new BufferedWriter( new FileWriter(new File(filepath)))); writer.println("これでファイルに書き込めます。"); writer.close(); //最後に閉じます。
また、ファイルパスのディレクトリがなかったときのために、以下のようなコードをPrintWriter?を生成する前に仕込みます。
File outfile = new File(listOutPath); File dir = outfile.getParentFile(); if (!dir.exists()) { dir.mkdirs(); }
これで、パスに含まれるディレクトリがない場合はディレクトリを作成してくれます。
ソースコード †
List<List<String>>を引数にとって内容をファイルに出力するサンプルです。
まあ、端的にはこんな感じのデータをターゲットに作ってみました。
URL、ページタイトル、ハッシュ値
※BeanにせずにListを使っているのは、Pythonになれてるからかなーw
■OutputWriter?.java
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.List; public class OutputWriter { public OutputWriter() { } public boolean writeList(String listOutPath, List<List<String>> list) { PrintWriter writer = null; try { File outfile = new File(listOutPath); File dir = outfile.getParentFile(); if (!dir.exists()) { dir.mkdirs(); } writer = new PrintWriter(new BufferedWriter(new FileWriter(outfile))); for (List<String> item : list) { writer.println(item.get(2) + "\t" + item.get(0) + "\t" + item.get(1)); } } catch (IOException e) { //TODO エラー処理 e.printStackTrace(); System.err.println("ファイルアクセス時にエラー発生"); return false; } finally { writer.close(); } return true; } }