使用Java语言分别使用FileWriter和BufferedWriter往文件中写入10万个随机数,比较用时的多少。
时间: 2024-03-05 22:55:10 浏览: 159
可以使用以下代码实现:
```java
import java.io.*;
import java.util.Random;
public class Main {
public static void main(String[] args) throws IOException {
long start1 = System.currentTimeMillis();
FileWriter fw = new FileWriter("numbers.txt");
Random rand = new Random();
for (int i = 0; i < 100000; i++) {
fw.write(rand.nextInt(100000) + "\n");
}
fw.close();
long end1 = System.currentTimeMillis();
System.out.println("FileWriter用时:" + (end1 - start1) + "ms");
long start2 = System.currentTimeMillis();
BufferedWriter bw = new BufferedWriter(new FileWriter("numbers2.txt"));
for (int i = 0; i < 100000; i++) {
bw.write(rand.nextInt(100000) + "\n");
}
bw.close();
long end2 = System.currentTimeMillis();
System.out.println("BufferedWriter用时:" + (end2 - start2) + "ms");
}
}
```
上述代码使用了Java的`FileWriter`和`BufferedWriter`分别向文件中写入10万个随机数,并比较了两者的用时。其中,`FileWriter`每写入一个字符就会将其直接写入到文件,而`BufferedWriter`则会先将字符缓存到内存中,当缓存满了之后再一次性写入到文件中,因此在写入大量数据时`BufferedWriter`能够更加高效。
运行上述代码,可以得到类似以下的输出结果:
```
FileWriter用时:150ms
BufferedWriter用时:7ms
```
可以看出,使用`BufferedWriter`的效率比使用`FileWriter`要高得多。
阅读全文