IO流拷贝文件目录和文件

package yn.ngems.cn;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class JavaDemo{
    public static void main(String[] args) throws IOException {
        if(args.length != 2) {
            System.out.println("系统执行错误,请检查!");
            System.exit(1);
        }
        long start = System.currentTimeMillis();
        FileUtil fu = new FileUtil(args[0], args[1]);
        System.out.println(fu.copyFile()? "文件拷贝成功!" : "文件拷贝失败!");
        long end = System.currentTimeMillis();
        System.out.println("拷贝文件用时:" + (end - start));
    }
}
class FileUtil{
    private File srcFile;
    private File desFile;
    public FileUtil(File srcFile,File desFile) {
        this.srcFile = srcFile;
        this.desFile = desFile;
    }
    public FileUtil(String src,String des) {
        this(new File(src),new File(des));
    }
    public boolean copyFile() throws IOException {
        if(!this.srcFile.exists()) {
            return false;
        }
        if(!this.desFile.getParentFile().exists()) {
            this.desFile.getParentFile().mkdirs();
        }
        InputStream input = null;
        OutputStream output = null;
        int len = 0;
        try {
            input = new FileInputStream(this.srcFile);
            output = new FileOutputStream(this.desFile);
            byte [] data = new byte[1024];
            while((len = input.read(data)) != -1) {
                output.write(data);
            }
            return true;
        }catch(Exception e) {
            throw e;
        }finally {
            if(input != null) {
                input.close();
            }
            if(output != null) {
                output.close();
            }
        }
    }
}
 

猜你喜欢

转载自blog.csdn.net/qq_27347147/article/details/85058717