如何在 Java 中将一个文件复制到另一个文件
原文:https://www.studytonight.com/java-examples/how-to-copy-a-file-to-another-file-in-java
在这篇文章中,我们将学习如何将文件数据复制到另一个文件中。这是我们在处理文件和输入/输出操作时面临的一个普遍问题。
有几种方法可以复制数据,例如使用FileInputStream
、FileOutputStream
、Files
类。所有这些类都用于文件处理操作。
但是Files
类更容易使用,因为它提供了copy()
方法,可以将源文件即时复制到目标文件,而在FileInputStream
则没有复制方法。因此,我们需要先读取数据,然后将它们写入目标文件。
这里,我们有一些示例来说明对文件的复制操作。下面我们有一个文件 outfile.txt 包含一些数据,将被写入到 abc.txt 空文件中。
//文件:outfile.txt
Welcome to Studytonight.com
It is technical portal.
举个例子
让我们创建一个将一个文件复制到另一个文件的示例。这里,我们使用的是将源复制到目的地的Files
类的copy()
方法。
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;
public class Main {
public static void main(String[] args) throws IOException{
Path path = Paths.get("outfile.txt");
OutputStream os = new FileOutputStream("abc.txt");
Files.copy(path,os);
}
}
另一个例子的时间:
我们再举一个例子,将一个文件复制到另一个文件。这里,我们使用FileInputStream
和FileOutputStream
来读写数据。通过使用FileInputStream
类的read()
方法,我们从源文件中读取数据,并使用文件输出流的write()
方法写入数据。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException{
File source = new File("outfile.txt");
File dest = new File("abc.txt");
try{
FileInputStream fis = new FileInputStream(source);
FileOutputStream fos = new FileOutputStream(dest);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
}catch(Exception e) {
System.out.println(e);
}
}
}
成功执行上述代码后。您可以看到 abc.txt 文件将具有与 outfile.txt 中相同的数据。这意味着数据复制成功。