分别使用FileWriter和BufferedWriter往文件写入1万个随机数,比较用时的多少?(用时采用方法)System.currentTimeMillis() 求时间差
时间: 2024-02-24 14:00:35 浏览: 122
好的,以下是使用FileWriter和BufferedWriter往文件写入1万个随机数的示例代码,并计算两种方式写入的用时:
```java
import java.io.*;
import java.util.Random;
public class MyFileWriterAndBufferedWriter {
private static final int MAX_NUM = 10000; // 随机数的个数
/**
* 使用FileWriter写入随机数
* @param filePath 文件路径
* @throws IOException
*/
public static void writeToFileWithFileWriter(String filePath) throws IOException {
FileWriter writer = new FileWriter(filePath);
Random random = new Random();
long start = System.currentTimeMillis();
for (int i = 0; i < MAX_NUM; i++) {
writer.write(random.nextInt() + "\n");
}
writer.close();
long end = System.currentTimeMillis();
System.out.println("使用FileWriter写入文件用时:" + (end - start) + "毫秒");
}
/**
* 使用BufferedWriter写入随机数
* @param filePath 文件路径
* @throws IOException
*/
public static void writeToFileWithBufferedWriter(String filePath) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(filePath));
Random random = new Random();
long start = System.currentTimeMillis();
for (int i = 0; i < MAX_NUM; i++) {
writer.write(random.nextInt() + "\n");
}
writer.close();
long end = System.currentTimeMillis();
System.out.println("使用BufferedWriter写入文件用时:" + (end - start) + "毫秒");
}
public static void main(String[] args) throws IOException {
String filePath1 = "test1.txt";
String filePath2 = "test2.txt";
writeToFileWithFileWriter(filePath1);
writeToFileWithBufferedWriter(filePath2);
}
}
```
在这个示例代码中,我们分别定义了使用FileWriter和BufferedWriter写入随机数的方法,并在main方法中调用这两个方法,记录写入文件所需的时间,并输出到控制台。运行这个程序,就可以看到两种方式写入的用时,可以发现,使用BufferedWriter写入文件的时间要比使用FileWriter短很多。
阅读全文