JAVA開発メモ
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


  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Commons-IO へ行く。

  *[[Jakarta Commons IO:http://jakarta.apache.org/commons/io/]]
  [[Jakarta Commons IO:http://jakarta.apache.org/commons/io/]]は、java.ioパッケージを利用したプログラミングを簡略化するユーティリティクラスを提供します。
  #contents
  
  #amazonkey2(jakarta)
  
  **org.apache.commons.io.CopyUtilsクラス
  String、byte配列、InputStream、ReaderからOutputStream、Writerへのコピーができます。
  
  |CENTER:''第1引き数:コピー元''|CENTER:''第2引き数:コピー先''|
  |InputStream|OutputStream|
  |Reader|Writer|
  |InputStream|Writer|
  |Reader|OutputStream|
  |String|OutputStream|
  |String|Writer|
  |byte[]|Writer|
  |byte[]|OutputStream|
  
       CopyUtils.copy(in, out); 
   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();
   FileUtils.cleanDirectory(dir);
   } 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
  
  その他の主なメソッド
  -void ''touch''(File)
  --touchコマンドと同等の処理をします。
  -File[] ''convertFileCollectionToFileArray''(Collection)
  --Fileクラスのコレクションを配列に変換します。
  -Collection ''listFiles''(File, IOFileFilter, IOFileFilter)
  --指定のディレクトリ内にてフィルタに従って検索します。
  -boolean ''contentEquals''(File, File)
  --二つのFileオブジェクトが等しいかどうか比較します。
  -File ''toFile''(URL)
  --URLオブジェクトからFileオブジェクトへ変換します。
  -URL[] ''toURLs''(File[])
  --File配列をURL配列に変換します。
  -String ''readFileToString''(File, String)
  --指定のエンコーディング(第2引き数)でFileオブジェクトをStringオブジェクトに変換します。
  -void ''writeStringToFile''(File, String, String)
  --第2引き数のStringオブジェクトを指定のエンコーディング(第3引き数)でFileオブジェクトに変換する。
  -void ''forceDelete''(File)
  --ファイルまたはディレクトリを強制的に削除します。File.delete()との違いはディレクトリは空である必要はなく、削除失敗時にはfalseを返すのではなく例外をスローします。
  -boolean ''isFileNewer''(File, File)
  --第1引き数のFileが第2引き数のFileより新しいか比較します。
  
  **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]
  
  

リロード   新規 編集 差分   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Tue, 24 Feb 2009 13:15:10 JST (4190d)
Link: FrontPage(1878d)

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 5.3.29

HTML convert time to 0.035 sec.