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

			}

		}

	}

}


原文地址:https://www.cnblogs.com/james1207/p/3306300.html