欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java文件io——将数据从一个文件拷贝到另一个文件

程序员文章站 2022-06-16 16:54:18
...
/**
 * 将数据从srcFile拷贝到desFile中
 *
 * @param srcFile 源文件路径(文件)
 * @param desFile 目标文件路径(目录/文件)
 */
public static void copyFile(String srcFile, String desFile) {
    FileInputStream inputStream = null;
    FileOutputStream outputStream = null;
    File file = new File(desFile);//判断目标路径是文件还是目录
    try {
        File file1 = new File(file, new File(srcFile).getName());
        inputStream = new FileInputStream(srcFile);//输入流读取源文件
        if (file.isDirectory()) {
        	//目标路径为目录则在此目录下创建一个与源文件名相同的文件
            outputStream = new FileOutputStream(file1);
        } else {
        	//目标路径为文件则直接向其中写文件
            outputStream = new FileOutputStream(desFile);
        }

        byte[] bytes = new byte[100];
        int len;
        while ((len = inputStream.read(bytes)) != -1) {//循环读写内容
            outputStream.write(bytes, 0, len);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {//关闭输入输出流
        try {
            if (inputStream != null)
                inputStream.close();
            if (outputStream != null)
                outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }