io 测试

//其中能够实现编码的只有OutputStreamWriter和对应inputStreamReader 
package net;

import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter; import java.io.FileOutputStream; import java.io.*; public class FileIoTest { public static void main(String[] args) throws IOException { FileOutputStream out = null; //只能输出二进制 byte FileOutputStream outSTr = null; BufferedOutputStream Buff = null; FileWriter fw = null; BufferedWriter bf = null; WebContent webcontent =new WebContent(); String url ="http://www.baidu.com/"; String htmlContent = webcontent.getOneHtml(url); int count = 1;// 写文件行数 try {
/****************************采用FileOutputStream方式*************************************************************/
out = new FileOutputStream(new File("D:/FileOutputStream.html")); long begin = System.currentTimeMillis(); for (int i = 0; i < count; i++) { out.write(htmlContent.getBytes()); }
out.close(); long end = System.currentTimeMillis(); System.out.println("FileOutputStream执行耗时:" + (end - begin) + " 豪秒");
/************************************采用BufferedOutputStream方式********************************************************/
outSTr = new FileOutputStream(new File("D:/BufferedOutputStream.html")); Buff = new BufferedOutputStream(outSTr); long begin0 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { Buff.write(htmlContent.getBytes()); } Buff.flush(); Buff.close(); long end0 = System.currentTimeMillis(); System.out.println("BufferedOutputStream执行耗时:" + (end0 - begin0)
+ " 豪秒");
/*********************************采用FileWriter方式**********************************************************/
fw = new FileWriter("D:/FileWriter.html"); long begin3 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { fw.write(htmlContent); } fw.close(); long end3 = System.currentTimeMillis(); System.out.println("FileWriter执行耗时:" + (end3 - begin3) + " 豪秒");
/************************************采用BufferWrite***********************************************************/
OutputStream o1 = new FileOutputStream("D:"+File.separator+"BufferedWriter.html");
OutputStreamWriter fw1 = new OutputStreamWriter(o1,"UTF-8"); bf = new BufferedWriter(fw1); long begin4 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { bf.write(htmlContent); } fw1.flush(); fw1.close(); long end4 = System.currentTimeMillis(); System.out.println("BufferedWriter执行耗时:" + (end4 - begin4) + " 豪秒");
} catch (Exception e) { e.printStackTrace(); } finally { try { fw.close(); Buff.close(); outSTr.close(); out.close(); } catch (Exception e) { e.printStackTrace(); } } } }
上一篇:codevs 1817 灾后重建


下一篇:团队作业4——第一次项目冲刺(Alpha版本) 2017.4.23