Javaライブラリ(Commons) IO | Hello, Stupid World!

Hello, Stupid World!

いろいろとメモ代わりに書いていきます。

ファイル入出力を簡単に行うためのライブラリにCommons IOがあります。
テストコードを書いたので見ていきます。


FileUtils.writeStringToFile(new File("C:\\tmp\\test.txt"), "テスト");
String str = FileUtils.readFileToString(new File("C:\\tmp\\test.txt"));
assertEquals("ファイル読書", "テスト", str);

ファイルの読書きを簡単に行うFileUtils.writeStringToFileと
FileUtils.readFileToStringです。
Commons使わない場合は以下のような感じで書くと思います。

BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\tmp\\test2.txt"));
bw.append("テスト");
bw.close();

BufferedReader br = new BufferedReader(new FileReader("C:\\tmp\\test2.txt"));
String str = br.readLine();
br.close();
assertEquals("ファイル読書2", "テスト", str);

FileUtils使った方が少しだけ簡単なのが分かります。
他にも便利な機能が多くあります。

FileUtils.copyFile(new File("C:\\tmp\\src.txt"), new File("C:\\tmp\\dest.txt"));
assertTrue("ファイルコピー", new File("C:\\tmp\\dest.txt").exists());

ファイルコピーが簡単にできるFileUtils.copyFile

assertTrue("ファイル比較", IOUtils.contentEquals(new FileReader("C:\\tmp\\dest.txt")
 ,new FileReader("C:\\tmp\\src.txt")));

ファイル内容の比較が簡単にできる
IOUtils.contentEquals

FileUtils.cleanDirectory(new File("C:\\tmp\\storeDir"));
assertEquals("ディレクトリ内クリア", 0, new File("C:\\tmp\\storeDir").list().length );

ディレクトリ内のファイルやディレクトリを削除するFileUtils.cleanDirectory
他にもいろいろな便利なメソッドがあります。
また、中のソースが読みやすいので読むと勉強になります。