Java拷贝文件到另一个目录下

简介

在Java开发中,经常会遇到需要拷贝文件到另一个目录下的需求。本文将教会刚入行的小白如何实现这个功能。

流程

下面是拷贝文件到另一个目录下的步骤:

步骤 描述
步骤1 创建一个输入流读取原文件
步骤2 创建一个输出流写入目标文件
步骤3 逐个字节从输入流读取并写入输出流
步骤4 关闭输入流和输出流

接下来,我们将逐步介绍每个步骤所需的代码。

代码示例

步骤1:创建一个输入流读取原文件

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class FileCopyExample {
    public static void main(String[] args) {
        File sourceFile = new File("sourceFile.txt");
        try (InputStream inputStream = new FileInputStream(sourceFile)) {
            // 在这里进行步骤2的代码编写
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

以上代码创建了一个名为sourceFile.txt的文件,并使用FileInputStream创建了一个输入流inputStream来读取该文件。

步骤2:创建一个输出流写入目标文件

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 FileCopyExample {
    public static void main(String[] args) {
        File sourceFile = new File("sourceFile.txt");
        File targetFile = new File("targetFile.txt");
        try (InputStream inputStream = new FileInputStream(sourceFile);
             OutputStream outputStream = new FileOutputStream(targetFile)) {
            // 在这里进行步骤3的代码编写
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们创建了一个名为targetFile.txt的目标文件,并使用FileOutputStream创建了一个输出流outputStream来写入该文件。

步骤3:逐个字节从输入流读取并写入输出流

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 FileCopyExample {
    public static void main(String[] args) {
        File sourceFile = new File("sourceFile.txt");
        File targetFile = new File("targetFile.txt");
        try (InputStream inputStream = new FileInputStream(sourceFile);
             OutputStream outputStream = new FileOutputStream(targetFile)) {
            int byteRead;
            while ((byteRead = inputStream.read()) != -1) {
                outputStream.write(byteRead);
            }
            // 在这里进行步骤4的代码编写
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码使用inputStream.read()逐个字节地从输入流中读取数据,并使用outputStream.write()将读取的字节写入输出流中。

步骤4:关闭输入流和输出流

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 FileCopyExample {
    public static void main(String[] args) {
        File sourceFile = new File("sourceFile.txt");
        File targetFile = new File("targetFile.txt");
        try (InputStream inputStream = new FileInputStream(sourceFile);
             OutputStream outputStream = new FileOutputStream(targetFile)) {
            int byteRead;
            while ((byteRead = inputStream.read()) != -1) {
                outputStream.write(byteRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 关闭输入流和输出流
        try {
            inputStream.close();
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在最后的代码中,我们通过调用inputStream.close()outputStream.close()来关闭输入流和输出流。

总结

通过以上步骤,我们成功地实现了将Java文件拷贝到另一个目录下的功能。在实际开发过程中,我们可以根据需要灵活运用这些步骤,并结合异常处理和其他相关操作来完成更加复杂的文件操作任务。

希望本文对刚入行的小白有所帮