写文件 faster and faster
import java.io.BufferedWriter;import java.io.FileWriter;public class Test {public static void main(String[] args) {int max = 100000000;long t1 = System.currentTimeMillis();test1(max);long t2 = System.currentTimeMillis();System.out.println("test1耗时:"+(t2-t1));long t3 = System.currentTimeMillis();test2(max);long t4 = System.currentTimeMillis();System.out.println("test2耗时:"+(t4-t3));long t5 = System.currentTimeMillis();test3(max);long t6 = System.currentTimeMillis();System.out.println("test3耗时:"+(t6-t5));//两次测试结果//已知 max=100000000 //test1耗时:46593/52906//test2耗时:28563/28250//test3耗时:21859/22594}public static void test1(int max){BufferedWriter bw = null;String fileName = "d:/1.txt";try{bw = new BufferedWriter(new FileWriter(fileName, true));for(int i=0;i<max;i++){bw.write(i+"\r\n");}bw.flush();bw.close();}catch (Exception e) {e.printStackTrace();}}public static void test2(int max){BufferedWriter bw = null;String fileName = "d:/2.txt";try{bw = new BufferedWriter(new FileWriter(fileName, true));for(int i=0;i<max;i++){bw.write(String.valueOf(i));bw.write("\r\n");//快于bw.newLine()}bw.flush();bw.close();}catch (Exception e) {e.printStackTrace();}}public static void test3(int max){BufferedWriter bw = null;String fileName = "d:/3.txt";try{StringBuffer sb = new StringBuffer();bw = new BufferedWriter(new FileWriter(fileName, true));for(int i=0;i<max;i++){sb.append(i);sb.append("\r\n");//10000写入一次if(i%10000==0){bw.write(sb.toString());sb.delete(0, sb.length());}}bw.write(sb.toString());bw.flush();bw.close();}catch (Exception e) {e.printStackTrace();}}}//两次测试结果//已知 max=100000000 //test1耗时:46593/52906//test2耗时:28563/28250//test3耗时:21859/22594