您的位置:

Java实现文件复制到另一个文件夹

1、引言

在开发应用程序的过程中,经常需要将一个文件复制到指定目录下。如何使用Java实现文件的复制操作呢?本文将介绍如何在Java中实现文件复制到另一个文件夹的方法。

2、实现文件复制到另一个文件夹

选取目标文件与目标目录

首先,我们需要选取需要复制的文件和目标目录。在Java中,使用File类来处理文件和目录。

File sourceFile = new File("C:\\source\\example.txt"); //选取需要复制的文件
File targetDirectory = new File("C:\\target"); //选取目标目录

创建目标目录

判断目标目录是否存在,如不存在则创建目标目录。

if(!targetDirectory.exists()){
    targetDirectory.mkdir();
}

实现文件复制

Java中实现文件复制的基本原理:先读取原文件,再将读取到内容写入到目标文件中,如此反复直到读到源文件的末尾。

Java中提供了FileInputStream和FileOutputStream类来分别实现文件的输入流和输出流。

InputStream inputStream = new FileInputStream(sourceFile); // 创建输入流
OutputStream outputStream = new FileOutputStream(targetDirectory + "\\" + sourceFile.getName()); // 创建输出流

byte[] buffer = new byte[1024];
int readLength;
while ((readLength = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, readLength);
}

outputStream.close(); // 关闭输出流
inputStream.close(); //关闭输入流

完整示例代码

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 FileCopy {

    public static void main(String[] args) throws IOException {
        File sourceFile = new File("C:\\source\\example.txt"); 
        File targetDirectory = new File("C:\\target"); 
        if(!targetDirectory.exists()){
            targetDirectory.mkdir();
        }

        InputStream inputStream = new FileInputStream(sourceFile); 
        OutputStream outputStream = new FileOutputStream(targetDirectory + "\\" + sourceFile.getName()); 

        byte[] buffer = new byte[1024];
        int readLength;
        while ((readLength = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, readLength);
        }

        outputStream.close(); 
        inputStream.close(); 
    }
}

3、总结

本文介绍了如何在Java中实现将文件复制到另一个文件夹,使用FileInputStream和FileOutputStream类进行文件的输入流和输出流操作实现文件复制。

在实际开发中,可能会遇到更多的复杂情况需要处理,但是上述代码提供了基本的实现方法,可以满足我们基本的使用需求。