148_文件的拷贝

Posted aeon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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工具类。

以上是关于148_文件的拷贝的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段

python文件操作_对文件进行复制拷贝_代码实现

LeetCode Algorithm 148. 排序链表

Gradle 引入本地定制 jar 包

包,logging模块,hashlib模块,openpyxl模块,深拷贝,浅拷贝

包logginghashlib深浅拷贝