java---缓冲输入输出流BufferedInputStream和BufferedOutputStream

来源:互联网 发布:文字游戏安卓制作软件 编辑:程序博客网 时间:2024/04/28 15:07
示例测试总结:t1()最快,方案最优;
1、有buffer比没有buffer的更快
2、buffer放在中间层比放在外面的更快
3、按行或按块操作 比 按字节或字符操作更快(用Object流操作的速度 比 字节字符方式 更快)
4、缓冲区要结合流才可以使用,在流的基础上对流的功能进行了增强
package ThreadIO2_1.IO.buffer;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class BufferedStreamDemo {public static void main(String[] args) {try {//t1();//运行速度最快//t2();//最慢//t3();//第二} catch (Exception e) {e.printStackTrace();}}private static void t2() throws Exception {long t1=System.currentTimeMillis();DataInputStream din=new DataInputStream(new FileInputStream("b.txt"));String str=null;while((str=din.readLine())!=null){System.out.println(str);}long t2=System.currentTimeMillis();System.out.println("方式2运行时间(毫秒):"+(t2-t1));}private static void t1() throws Exception {long t1=System.currentTimeMillis();DataInputStream din=new DataInputStream(new BufferedInputStream(new FileInputStream("b.txt")));String str=null;while((str=din.readLine())!=null){System.out.println(str);}long t2=System.currentTimeMillis();System.out.println("方式1运行时间(毫秒):"+(t2-t1));}private static void t3() throws Exception {long t1=System.currentTimeMillis();BufferedInputStream bin=new BufferedInputStream(new DataInputStream(new FileInputStream("b.txt")));byte[] buf=new byte[20];int n=0;while ((n = bin.read(buf)) != -1) {System.out.println(new String(buf,0,n));}long t2 = System.currentTimeMillis();System.out.println("方式3运行时间(毫秒):" + (t2 - t1)); }}
0 0
原创粉丝点击