148_文件的拷贝


一、文件的拷贝

package edu.aeon.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
 * [说明]:文件的拷贝
 * @author aeon
 *
 */
public class CopyFile {
    
    public static void testCopyFile() throws IOException{
        //源文件    目标文件
        File srcFile=new File("b:/test/test.txt");
        File destFile=new File("b:/test/testCopy.txt");
        //读取写入流
        InputStream inputStream =new FileInputStream(srcFile);
        OutputStream outputStream=new FileOutputStream(destFile);
        //建立1M的缓存数组
        byte by[]=new byte[1024];
        //实际读取文件的长度
        int len=0;
        //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中
        while(-1!=(len=inputStream.read(by))){
            outputStream.write(by, 0, len);
        }
        //强制刷出
        outputStream.flush();
        //关闭流
        outputStream.close();
        inputStream.close();
    }
    
    public static void testCopyFile(String src,String dest) throws IOException{
        //源文件    目标文件
        File srcFile=new File(src);
        File destFile=new File(dest);
        /*//读取写入流
        InputStream inputStream =new FileInputStream(srcFile);
        OutputStream outputStream=new FileOutputStream(destFile);
        //建立1M的缓存数组
        byte by[]=new byte[1024];
        //实际读取文件的长度
        int len=0;
        //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中
        while(-1!=(len=inputStream.read(by))){
            outputStream.write(by, 0, len);
        }
        //强制刷出
        outputStream.flush();
        //关闭流
        outputStream.close();
        inputStream.close();*/    
        testCopyFile(srcFile,destFile);
    }
    
    public static void testCopyFile(File srcFile,File destFile) throws IOException{
        //读取写入流
        InputStream inputStream =new FileInputStream(srcFile);
        OutputStream outputStream=new FileOutputStream(destFile);
        //建立1M的缓存数组
        byte by[]=new byte[1024];
        //实际读取文件的长度
        int len=0;
        //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中
        while(-1!=(len=inputStream.read(by))){
            outputStream.write(by, 0, len);
        }
        //强制刷出
        outputStream.flush();
        //关闭流
        outputStream.close();
        inputStream.close();    
    }
    public static void main(String[] args) {
        String src="b:/test/test.txt";
        String dest="b:/test/testCopy.txt";
        try {
            //testCopyFile();
            //testCopyFile(src, dest);
            testCopyFile(new File(src),new File(dest));
        } catch (IOException e) {
            System.out.println("文件拷贝失败!");
            e.printStackTrace();
        }
    }
}

此处大家可根据自己的需求将文件的拷贝写一个工具类、比如写个CopyFileUtils工具类。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号