分割とファイル詳細_javaのマージ操作のJavaストリームの例 - JAVA

出典:こんにちは学習ネットワーク敏感と熱心なフォーラムはwww.piaodoo.comお互いから学ぶことを歓迎します

詳細動作フロースプリットとマージファイルのJavaの例

入力および出力ファイルストリームの、小さな、例えば、ファイル分割及びマージを所有しています。

    ここでは、コードは次のようになります。

パッケージcom.dufy.file。 
 
インポートのjava.io.File; 
輸入java.io.FileInputStream; 
輸入java.io.FileOutputStreamは、 
インポートにjava.io.IOException; 
輸入java.io.SequenceInputStream; 
輸入はjava.util.ArrayList; 
輸入java.util.Collections。 
インポートのjava.util.Enumeration; 
輸入はjava.util.List; 
/ ** 
 *カットとマージファイル 
 *カットとマージファイルへの1:メイン考慮事項の送信元アドレスは、ファイル、送信先アドレス、一時的な保存場所とファイル名をあります 
 * 2.切削文書:一時的に格納されたアドレスが存在するかどうかを決定する、それが作成され、存在しない、ファイルが送信元アドレスから読み出され、切断作業をファイルの所定の大きさに応じて、一時的なアドレスに 
 * 3.マージファイル:それが作成され、与えられたターゲットアドレスが存在するかどうか、それが存在しないかを決定;リストが定義されたファイルをステージングの設定は、すべてのセットリストに読み出さ対処します 
 *その後、すべてのファイル、マージファイルがストリームをマージ列挙リストを使用 
 *住所は最後のターゲットに書き込ま 
 *注:この例は、すべての例外がスローされている方法を使用しています 
 * @author aflyun 
 * 
 * / 
パブリッククラスTestFileCutUnion { 
 
  公共の静的な無効メイン(文字列[]引数)はIOExceptionが{スロー 
     
    文字列FSRC = "D:/1.jpg"; //ソースファイルディレクトリ 
    文字列FDIR = "D:/ 1"; //ターゲットファイルのディレクトリ 
    文字列fTemp = "D:/ 2"; //一時ファイルディレクトリ 
    ファイルSRCFILE =新しいファイル(FSRC)。 
    ファイルdirFileは、新しいFile(FDIR)を=。 
    ファイルの一時ファイルは、新しいFile(fTemp)を=。 
    文字列fileNameに= srcFile.getName(); //ファイルの名前を取得 
    cutFile(SRCFILE、一時ファイル); //コールセグメンテーション 
    unionFile(dirFile、一時ファイルは、ファイル名); //マージメソッド呼び出し 
     
     
  } 
   
  / ** 
   *カットファイル 
   * @Param SRCFILE 
   * @param TEMPFILE 
   * @throws IOExceptionが 
   * / 
   
  公共の静的な無効cutFile(ファイルSRCFILE、ファイルテンポラリ・ファイル)は、IOExceptionがスロー{ 
    //送信元アドレスファイルを読み込みます 
    FileInputStreamのFIS =新しいFileInputStreamを(SRCFILE)。 
    FileOutputStream fosの= NULL; 
    //ファイルが作成されていない場合 
    (もし!tempFile.isFile()){ 
      tempFile.mkdirs(); 
    } 
   
    バイト[] B =新しいバイト[100]。 
    int型のlen = 0; 
    int型のカウント= 0; 
    一方、((LEN = fis.read(B))!= -1){ 
      int型NUM = ++数えます。 
      //一時アドレスのディレクトリを作成します 
      FOS =新しいのFileOutputStream(新しいファイル(一時ファイル、NUM +) "の部分。"); 
      fos.write(B、0、LEN)。 
       
    } 
    fos.flush(); 
    )(fos.close。 
    fis.close(); 
     
    System.out.println( "分割が完了しています!"); 
  } 
  / ** 
   *マージファイル 
   * @Param dirFile 
   * @param TEMPFILE 
   * @param fileNameに 
   * @throws IOExceptionが 
   * / 
  公共の静的な無効unionFile(ファイルdirFile、ファイルの一時ファイル、文字列filename)は、IOExceptionがスロー{ 
    //ターゲットアドレスが存在するかを決定、作成、存在しません。 
    (もし!dirFile.isFile()){ 
      dirFile.mkdirs(); 
    } 
    一覧<FileInputStreamの>リスト=新しいのArrayList <のFileInputStream>(); 
    //一時アドレスにファイルを取得 
    ファイル[]ファイル= tempFile.listFiles(); 
     
    {(I ++; I <files.length iが0 = INT)のために 
      //使用FileInputStreamのは、セットリストに読み込ま 
      list.add(新しいFileInputStreamを(新しいファイル(一時ファイル、I + "の部分。"))); 
    } 
    すべての文書を列挙する//使用列挙(列挙) 
    列挙<FileInputStreamの> EUM = Collections.enumeration(リスト)。 
    //たSequenceInputStreamマージファイルは、ストリームをマージ 
    たSequenceInputStream SIS =新たSequenceInputStream(EUM)。 
    FileOutputStream fosの=新しいのFileOutputStream(新しいファイル(dirFileファイル名)); 
    バイト[] =新しいバイト[100]; 
    lenはint型。 
    一方、((LEN = sis.read())によって!= -1){ 
      (LEN、0、によって)fos.write。 
    } 
    fos.flush(); 
    )(fos.close。 
    sis.close(); 
    System.out.println( "合併が完了しています!"); 
  } 
} 

ご質問がある場合は、メッセージを残したり、交換コミュニティディスカッションサイトにしてください、あなたを助けることを望んで、読書のためのおかげで、このサイトのご支援をありがとうございました!

元のアドレスは次のとおりです。http://www.piaodoo.com/thread-13236-1-2.html ストッキングを制御 www.txdah.com 131外www.buzc.org楽しく学習がよりよく学習することができます!

おすすめ

転載: www.cnblogs.com/txdah/p/12093989.html