您的位置:首页 > 编程语言 > Java开发

java:24G文件写入所要时间23.9分,读取只有67秒(1G内存测试)

2010-05-17 12:20 639 查看
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();
  }
 }

 // 分割文件
 public static void splitFile() {

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 测试 path string class