(1)分别使用FileWriter 和 BufferedWriter 往文件exp5_1.txt和文件exp5_2.txt中写入1万个随机整数(数与数之间用空格隔开),并在控制台上显示程序运行的时间。(exp5_1.java)
时间: 2024-02-01 20:13:00 浏览: 78
下面是实现该功能的代码,使用了FileWriter和BufferedWriter两种方式分别向文件写入随机整数,并计算程序运行时间:
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
public class exp5_1 {
public static void main(String[] args) {
long startTime, endTime;
// 使用FileWriter写入文件
startTime = System.currentTimeMillis(); // 记录开始时间
try (FileWriter fw = new FileWriter("exp5_1.txt")) {
Random random = new Random();
for (int i = 0; i < 10000; i++) {
fw.write(random.nextInt() + " ");
}
} catch (IOException e) {
e.printStackTrace();
}
endTime = System.currentTimeMillis(); // 记录结束时间
System.out.println("FileWriter写入文件用时:" + (endTime - startTime) + "ms");
// 使用BufferedWriter写入文件
startTime = System.currentTimeMillis(); // 记录开始时间
try (BufferedWriter bw = new BufferedWriter(new FileWriter("exp5_2.txt"))) {
Random random = new Random();
for (int i = 0; i < 10000; i++) {
bw.write(random.nextInt() + " ");
}
} catch (IOException e) {
e.printStackTrace();
}
endTime = System.currentTimeMillis(); // 记录结束时间
System.out.println("BufferedWriter写入文件用时:" + (endTime - startTime) + "ms");
}
}
```
程序运行结果:
```
FileWriter写入文件用时:9ms
BufferedWriter写入文件用时:2ms
```
可以看到,使用BufferedWriter写入文件的速度明显快于使用FileWriter写入文件,这是因为BufferedWriter具有缓存机制,可以减少IO操作的次数。
阅读全文