![]() |
Commons-IO |
||
サイトメニュー最新の20件2018-08-012018-02-222016-12-222015-06-242013-07-032013-02-262011-01-122010-06-082010-03-092010-03-032009-12-302009-10-302009-02-252009-02-242009-02-112008-09-242008-09-232008-09-16
|
Jakarta Commons IO ↑Jakarta Commons IOは、java.ioパッケージを利用したプログラミングを簡略化するユーティリティクラスを提供します。 org.apache.commons.io.CopyUtils?クラス ↑String、byte配列、InputStream?、ReaderからOutputStream?、Writerへのコピーができます。
try { InputStream in = new FileInputStream("C:\\tmp\\org.txt"); OutputStream out = new FileOutputStream("C:\\tmp\\copy.txt"); // 入力ストリームから出力ストリームへコピーしてファイルを複製する。 CopyUtils.copy(in, out); } catch (Exception e) { e.printStackTrace(); }
org.apache.commons.io.IOUtilsクラス ↑ストリームを安全にクローズします。また、ストリームからString、byte配列を取得できます。 InputStream in = null; try { in = new URL("http://www.moriwaki.net/wiki/").openStream(); // URLから取得したストリームの内容をテキスト表示する System.out.println(IOUtils.toString(in)); } catch (Exception e) { e.printStackTrace(); } finally { // ストリームを閉じる IOUtils.closeQuietly(in); }
org.apache.commons.io.FileUtils?クラス ↑Fileクラス処理の様々な機能を提供します。 ディレクトリ内のファイル、サブディレクトリ全てを削除します。 File dir = new File("C:\\tmp\\work"); try { FileUtils.cleanDirectory(dir); } catch (IOException e) { e.printStackTrace(); }
ファイルをコピーします。 File file1 = new File("C:\\tmp\\test.txt"); File file2 = new File("C:\\tmp\\copy.txt"); try { FileUtils.copyFile(file1, file2); } catch (IOException e) { e.printStackTrace(); }
ディレクトリ内で指定の拡張子のファイルを検索します。 File dir = new File("C:\\tmp"); String[] extensions = {"txt", "html"}; boolean recursive = true; // true:サブディレクトも検索する Collection files = FileUtils.listFiles(dir, extensions, recursive); System.out.println(files);
ディレクトリ配下のサイズをlong型で返します。 File dir = new File("C:\\tmp"); long size = FileUtils.sizeOfDirectory(dir); System.out.println(size + " bytes"); System.out.println(FileUtils.byteCountToDisplaySize(size)); 出力結果 693928711 bytes 661 MB
その他の主なメソッド
org.apache.commons.io.filefilter.FileFilterUtils?クラス ↑FileUtils?での検索するフィルタを生成します。 File dir = new File("C:\\tmp"); // 前方一致で"test" IOFileFilter fileFilter1 = FileFilterUtils.prefixFileFilter("test"); // 後方一致で"html" IOFileFilter fileFilter2 = FileFilterUtils.suffixFileFilter("html"); // fileFilter1とfileFilter2の条件をANDで結合 IOFileFilter fileFilter = FileFilterUtils.andFileFilter(fileFilter1, fileFilter2);
// サブディレクトリも検索する(しない場合はnull) IOFileFilter dirFilter = FileFilterUtils.trueFileFilter(); // CVSディレクトリは無視する dirFilter = FileFilterUtils.makeCVSAware(dirFilter);
// 検索実行 files = FileUtils.listFiles(dir, fileFilter, dirFilter); System.out.println(files);
出力結果 [C:\tmp\test.html, C:\tmp\test2.html] |