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();



			}



		}



	}



}


 

 

你可能感兴趣的:(IO)