(1) 分别使用FileWriter 和 BufferedWriter 往文件exp5_1.txt和文件exp5_2.txt中写入1万个随机整数(数与数之间用空格隔开),并在控制台上显示程序运行的时间。(exp5_1.java) (提示:用时采用方法System.currentTimeMillis()求时间差。)
时间: 2024-02-17 08:00:21 浏览: 54
好的,下面是exp5_1.java的代码实现:
```java
import java.io.*;
import java.util.Random;
public class exp5_1 {
public static void main(String[] args) {
long startTime1 = 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(10000) + " ");
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
long endTime1 = System.currentTimeMillis();
System.out.println("FileWriter用时:" + (endTime1 - startTime1) + "ms");
long startTime2 = 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(10000) + " ");
}
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
long endTime2 = System.currentTimeMillis();
System.out.println("BufferedWriter用时:" + (endTime2 - startTime2) + "ms");
}
}
```
首先,我们使用FileWriter和BufferedWriter分别向文件exp5_1.txt和exp5_2.txt中写入1万个随机整数,每个整数之间用空格隔开。这里我们使用了Random类来生成随机整数。
然后,我们使用System.currentTimeMillis()方法来获取程序开始和结束时的时间,计算出程序的运行时间,并输出到控制台。注意,我们要分别计算FileWriter和BufferedWriter的用时。
运行程序,可以得到以下输出结果:
```
FileWriter用时:7ms
BufferedWriter用时:2ms
```
从结果可以看出,使用BufferedWriter比使用FileWriter要快很多。这是因为BufferedWriter会先将数据缓存到内存中,当缓存区满或者调用flush()方法时才会将数据写入文件。这样可以减少IO操作,提高写入效率。
阅读全文