使用BufferedReader和BufferedWriter复制C:\source.txt到D:\target.txt中,查看文件内容和文件大小是否一致
时间: 2024-05-02 22:23:33 浏览: 93
可以回答您的第一个问题。以下是实现代码:
```java
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
String sourcePath = "C:\\source.txt";
String targetPath = "D:\\target.txt";
try {
long startTime = System.currentTimeMillis();
BufferedReader br = new BufferedReader(new FileReader(sourcePath));
BufferedWriter bw = new BufferedWriter(new FileWriter(targetPath));
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
long endTime = System.currentTimeMillis();
System.out.println("文件复制成功!用时:" + (endTime - startTime) + "毫秒");
File sourceFile = new File(sourcePath);
File targetFile = new File(targetPath);
long sourceSize = sourceFile.length();
long targetSize = targetFile.length();
if (sourceSize == targetSize) {
System.out.println("文件内容和大小一致");
}
else {
System.out.println("文件内容和大小不一致");
}
}
catch (IOException e) {
System.err.println("文件复制失败!");
e.printStackTrace();
}
}
}
```
在代码中,使用BufferedReader读取源文件,使用BufferedWriter写入目标文件。读取时逐行读取,写入时逐行写入,并在每行末尾添加换行符。复制完成后,获取源文件和目标文件的大小,判断它们是否相等。如果相等,就表明文件内容和大小一致。
需要注意的是,文件复制时可能会出现各种异常,因此需要使用try-catch语句进行异常处理。另外,需要在程序中指定源文件和目标文件的路径。
阅读全文