题目7-1:编程实现:文件复制 1. 创建一个源文件,内容自定义。 2. 使用FileInputStream读取源文件内容。 3. 使用FileOutputStream将读取到的内容写入到一个新文件中
时间: 2024-12-26 16:30:59 浏览: 5
题目7-1要求我们编写一段程序来复制一个文件。以下是使用Java语言实现的一个简单示例:
```java
import java.io.*;
public class FileCopyExample {
public static void main(String[] args) {
// Step 1: 创建源文件
String sourceFileName = "source.txt"; // 源文件名,你可以根据需要修改
try (BufferedWriter writer = new BufferedWriter(new FileWriter(sourceFileName))) {
writer.write("这是源文件的内容"); // 写入自定义内容
} catch (IOException e) {
System.err.println("Error writing to source file: " + e.getMessage());
}
// Step 2: 使用FileInputStream读取源文件
String destinationFileName = "destination.txt"; // 目标文件名
FileInputStream fis;
try {
fis = new FileInputStream(sourceFileName);
} catch (FileNotFoundException e) {
System.err.println("Source file not found: " + e.getMessage());
return;
}
// Step 3: 使用FileOutputStream写入新文件
FileOutputStream fos;
try {
fos = new FileOutputStream(destinationFileName);
byte[] buffer = new byte[4096]; // 一次性读取的数据量
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) { // 逐块读取并写入
fos.write(buffer, 0, bytesRead);
}
fis.close();
} catch (IOException e) {
System.err.println("Error reading or writing to files: " + e.getMessage());
} finally {
try {
if (fos != null) fos.close();
if (fis != null) fis.close();
} catch (IOException e) {
System.err.println("Error closing file streams: " + e.getMessage());
}
}
System.out.println("文件复制完成");
}
}
```
这个程序首先创建一个名为"source.txt"的源文件,并写入一些文本内容。然后它打开源文件,使用`FileInputStream`读取数据,并通过`FileOutputStream`将内容写入一个新的名为"destination.txt"的目标文件。
如果在操作过程中遇到任何错误,比如文件找不到、读写失败等,程序会捕获异常并打印错误信息。
阅读全文