BufferedWriter类 BufferedReader类(实现文件的复制) 查看文件的内容和大小是否一致
时间: 2024-09-27 18:15:29 浏览: 37
文件处理方法类
`BufferedReader` 和 `BufferedWriter` 是 Java 中用于处理文本文件输入输出的两个重要类。它们分别实现了读取和写入数据时的缓冲机制,提高了性能。
当你需要复制文件时,可以这样做:
```java
import java.io.*;
public class FileCopyExample {
public static void main(String[] args) throws IOException {
FileInputStream input = new FileInputStream("sourceFile.txt");
FileOutputStream output = new FileOutputStream("destinationFile.txt");
byte[] buffer = new byte[4096]; // 创建一个缓冲区
int bytesRead;
while ((bytesRead = input.read(buffer)) != -1) { // 逐块读取源文件到缓冲区
output.write(buffer, 0, bytesRead); // 将缓冲区内容写入目标文件
}
input.close();
output.close(); // 关闭流以释放资源
}
}
```
查看文件的内容通常通过 `BufferedReader` 阅读,例如:
```java
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
```
检查文件大小则可以直接使用 `File` 类的方法:
```java
File file = new File("file.txt");
long fileSize = file.length();
System.out.println("File size is: " + fileSize + " bytes");
```
如果想比较文件内容和大小是否一致,你需要先读取整个文件并将其内容保存在内存中,然后比较内存中的字符串和文件大小。这可能会因为文件过大而消耗大量内存,所以对于大文件,更推荐一次读取一行或者分块比较。
阅读全文