java:24G文件写入所要时间23.9分,读取只有67秒(1G内存测试)
package arrays.file;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
String path = "d:/data.txt";
writerFile(path);
readerFile(path);
}
// 写入文件
public static void writerFile(String path) {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(path));
// int max = Integer.MAX_VALUE;
int max = 1000;
System.out.println("总写入文件行数:" + max);
long start = System.currentTimeMillis();
for (int i = 0; i < max; i++) {
bw.write((int) (Math.random() * max) + "");
bw.newLine();
}
bw.close();
long end = System.currentTimeMillis();
System.out.println("写入耗时:" + (end - start) + "ms = "
+ ((double) (end - start) / 1000) + "s");
} catch (IOException e) {
e.printStackTrace();
}
}
// 读取文件
public static void readerFile(String path) {
try {
BufferedReader br = new BufferedReader(new FileReader(path));
long start = System.currentTimeMillis();
while (br.ready()) {
br.readLine();
}
br.close();
long end = System.currentTimeMillis();
System.out.println("读取耗时:" + (end - start) + "ms = "
+ ((double) (end - start) / 1000) + "s");
} catch (IOException e) {
e.printStackTrace();
}
}
}