码迷,mamicode.com
首页 > 其他好文 > 详细

148_文件的拷贝

时间:2018-12-01 11:02:16      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:工具   imp   author   col   stc   txt   tput   ace   根据   

一、文件的拷贝

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工具类。

148_文件的拷贝

标签:工具   imp   author   col   stc   txt   tput   ace   根据   

原文地址:https://www.cnblogs.com/aeon/p/10048063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!