刚转回java,感觉很多东西还很陌生,感觉刚入门似的.
PrintWriterBufferedWriter.java 文件封装了PrintWriter 和 BufferedWriter 类写入文件的方法:
1 import java.io.PrintWriter; 2 import java.io.BufferedWriter; 3 import java.io.IOException; 4 import java.io.FileWriter; 5 import java.io.File; 6 class Printer { 7 public static void write(String path, String contents) throws IOException { 8 PrintWriter pw = new PrintWriter(new FileWriter(new File(path))); 9 pw.print(contents); 10 pw.close(); 11 } 12 } 13 14 class Buffered { 15 public static void write(String path, String contents) throws IOException { 16 BufferedWriter bw = new BufferedWriter(new FileWriter(new File(path))); 17 bw.write(contents); 18 bw.close(); 19 } 20 }
User.java 文件是测试类,将内容写入文件中,
1 import java.io.IOException; 2 class User{ 3 public static void main(String[] args){ 4 StringBuffer sb = new StringBuffer(); 5 for(int i = 0; i < 100000; i++) 6 sb.append("telerikkjuatlistenedk76914761ilovemyprofessionaljob.").append("\n"); 7 try{ 8 long startTime = System.nanoTime(); 9 // Printer.write("H:\\OwnTool\\WriterDataToText\\out.txt",sb.toString()); 10 Buffered.write("H:\\OwnTool\\WriterDataToText\\out.txt",sb.toString()); 11 long endTime = System.nanoTime(); 12 System.out.println("cost ‘" + (endTime - startTime) + "‘ ns "); 13 }catch(IOException e){ 14 e.printStackTrace(); 15 } 16 } 17 }
多次试验都得到差不多的结果,BufferedWriter花的时间会比 PrintWriter ‘少‘很多:
对于 BufferedWriter 的输出结果:
cost ‘72761343‘ ns
对于 PrintWriter 的输出结果:
cost ‘95209656‘ ns
PrintWriter 和 BufferedWriter 写入文件.
原文:http://www.cnblogs.com/listened/p/3526099.html