1. 程式人生 > >Java 高效複製檔案方法

Java 高效複製檔案方法

通過FileChanel 方法複製Java檔案,比通常的記憶體讀寫 方式效率要好很多

public static void headCreate(File f1, File f2) {   //f1 為原始檔  f2 為目標檔案,本方法的功能是 複製f1檔案 為f2

       FileInputStream fi = null;
       FileOutputStream fo = null;
       FileChannel in = null;
       FileChannel out = null;
       try {
           fi = new FileInputStream(f1);
           fo = new FileOutputStream(f2);
           in = fi.getChannel();//得到f1 的檔案通道
           out = fo.getChannel();//得到f12的檔案通道
           in.transferTo(0, in.size(), out);//連線兩個通道,並且從in通道讀取,然後寫入out通道
       } catch (IOException e) {
           e.printStackTrace();
       } finally {
           try {
               fi.close();
               in.close();
               fo.close();
               out.close();
           } catch (IOException e) {
               e.printStackTrace();
           }
       }
   }