介绍
在本实验中,你将学习如何在 Java 中将一个文件复制到另一个文件。复制文件有多种方法,例如使用 FileInputStream、FileOutputStream 和 Files 类。在这里,我们将重点介绍 Files 类,因为它提供了一个 copy() 方法,可以轻松地将源文件复制到目标文件。
在本实验中,你将学习如何在 Java 中将一个文件复制到另一个文件。复制文件有多种方法,例如使用 FileInputStream、FileOutputStream 和 Files 类。在这里,我们将重点介绍 Files 类,因为它提供了一个 copy() 方法,可以轻松地将源文件复制到目标文件。
在新的 Java 文件中,使用以下代码导入所需的库:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.File;
import java.io.FileInputStream;
创建一个指向需要复制的源文件的文件对象。
File source = new File("sourceFile.txt");
创建一个目标文件对象,指向你希望将源文件数据复制到的文件。
File destination = new File("destinationFile.txt");
使用 Files 类将数据从源文件复制到目标文件。你可以使用 Files 类的 copy() 方法来实现这一点。
Path sourcePath = Paths.get(source.getAbsolutePath());
OutputStream destinationStream = new FileOutputStream(destination);
Files.copy(sourcePath, destinationStream);
在这种方法中,我们将使用 FileInputStream 和 FileOutputStream 来复制数据。使用以下代码从源文件中读取数据,并通过 FileOutputStream 的 write() 方法写入数据。
FileInputStream sourceStream = new FileInputStream(source);
FileOutputStream destinationStream = new FileOutputStream(destination);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = sourceStream.read(buffer)) > 0) {
destinationStream.write(buffer, 0, bytesRead);
}
sourceStream.close();
destinationStream.close();
打开终端并导航到 ~/project 目录。使用以下命令编译程序:
javac CopyFile.java
使用以下命令运行程序:
java CopyFile
在本实验中,你学习了如何使用 Files 类以及 FileInputStream 和 FileOutputStream 将数据从一个文件复制到另一个文件。Files 类更易于使用,因为它提供了一个 copy() 方法,可以立即复制数据。你也可以通过手动读写数据的方式,使用 FileInputStream 和 FileOutputStream 来复制数据。