자바 에서 스 레 드 를 통 해 파일 을 한 경로 에서 다른 경로 로 복사 합 니 다.

3641 단어 자바
제목:
다 중 스 레 드 를 사용 하여 여러 파일 동기 화 복사 기능 을 실현 합 니 다.예 를 들 어 파일 A 를 E 판 의 한 폴 더 에 복사 하여 F 판 으로 복사 합 니 다.
너무 어 려 울 수도 있 으 니 한 걸음 한 걸음 파일 복사 부터 하 세 요.
Demo.java

package com.CopyFile;

import java.io.*;

public class Demo {

    public static void main(String[] args) throws IOException {
        Filecopy.readFile();  //       ,    
    }
}

----------------------------------------------------------------------------

Filecopy.java

package com.CopyFile;

import java.io.*;

public class Filecopy {
    public static final String COPY_FILE = "F:\\lalala.txt";  //  copy   
    public static final String TARGET_FILE  = "E:\\hahaha.txt"; //copy     
    public static void readFile() throws IOException {     //  IO  
        File file = new File(COPY_FILE);     //new  file  
      File outFile = new File(TARGET_FILE);   //new  outfile  
        if (outFile.isFile()) {     //          ,       
            outFile.createNewFile();         
        }
        InputStream is = null;
        OutputStream os = null;
        try {
            is = new FileInputStream(file);     //     
            os = new FileOutputStream(outFile); //     
            int length=0;  //     
            byte[] temp = new byte[1024]; //     1024  
            while ((length = is.read(temp)) != -1) {
                os.write(temp,0,length); //       
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {//       
            if (os != null) {
                os.close();
            }
            if (is != null) {
                is.close();
            }
        }
    }
}





스 레 드 를 통 해 파일 복사:
Demo.java
------------------------
package com.CopyFile;

import java.io.*;

public class Demo {
    public static final String COPY_FILE = "F:\\lalala.txt";  //  copy   
    public static final String TARGET_FILE = "E:\\hahaha.txt"; //copy     

    public static void main(String[] args) throws IOException {
        Filecopy fc = new Filecopy(COPY_FILE, TARGET_FILE);    //       ,    
        fc.start();

    }
}

************************************************

Filecopy.java

-------------------------

package com.fuzhiThread;

import static  com.fuzhiThread.Demo.COPY_FILE;
import static  com.fuzhiThread.Demo.TARGET_FILE;
import java.io.*;

public class CopyFile extends Thread{

    public void run(){
        File file = new File(COPY_FILE);
        File outFile = new File(TARGET_FILE);

        if (outFile.isFile()){
            try {
                outFile.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        InputStream is = null; //              ,       。
        OutputStream os = null;

        try {
          is = new FileInputStream(file);
          os = new FileOutputStream(outFile);
            int length = 0;
            byte[] temp = new byte[1024];  //    1024  ,1M,  ,      2M    。
            if((length = is.read(temp)) != -1){  //      ,    ,      while  。
                os.write(temp, 0, length); //            len   ,    off         。JDK1.8  。
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                is.close(); //     
                os.close(); //     
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}





좋은 웹페이지 즐겨찾기