ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

缓冲流的效率测试_复制文件和BufferedWriter_字符缓冲输出流

2022-07-14 14:03:58  阅读:146  来源: 互联网

标签:输出 字节 字符 缓冲 BufferedWriter new


缓冲流的效率测试_复制文件

单个读取字符的时间

    private static void show06() throws IOException {
        long l = System.currentTimeMillis();

        //创建字节缓冲输入流对象,构造方法中传递字节输入流
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("F:\\3.jpg"));
        //创建字节缓冲输出流对象,构造方法中传递字节输出流
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("F:\\a\\3.jpg"));
        //使用字节缓冲输入流对象中的方法read,读取文件
        int len = 0;
        while ((len=bis.read())!=-1){
            bos.write(len);
        }
        bis.close();
        bos.close();

        long l1 = System.currentTimeMillis();
        System.out.println("复制文件共耗时:"+(l1-l)+"毫秒");
    }

 

 使用数组进行复制的时间

    private static void show06() throws IOException {
        long l = System.currentTimeMillis();

        //创建字节缓冲输入流对象,构造方法中传递字节输入流
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("F:\\3.jpg"));
        //创建字节缓冲输出流对象,构造方法中传递字节输出流
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("F:\\a\\3.jpg"));
        //使用数组缓冲读取多个字节,写入多个字节
        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = bis.read(bytes))!=-1){
            bos.write(bytes,0,len);
        }

        bis.close();
        bos.close();

        long l1 = System.currentTimeMillis();
        System.out.println("复制文件共耗时:"+(l1-l)+"毫秒");
    }

BufferedWriter_字符缓冲输出流

java.io.BufferedWriter extends Writer

BufferedWriter:字符缓冲输出流

构造方法:

  BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。

  BufferedWriter(Writer out, int sz) 创建一个使用给定大小输出缓冲区的新缓冲字符输出流。

  参数:

    Writer out:字符输出流

      可以传递FileWriter,缓冲流会给FileWriter增加一个缓冲区,提高FileWriter的写入效率

    int sz:指定缓冲区的大小,不写默认大小

特有的成员方法:

  void newLine() 写入一个行分隔符。会根据不同的操作系统,获取不同的行分隔符

    private static void show07() throws IOException {
        //创建字符缓冲输出流对象,构造方法中传递字符输出流
        BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\a9.txt"));
        //调用字符缓冲输出流中的方法write,把数据写入到内存缓冲区中
        for (int i = 0; i <10; i++) {
            bw.write("张三");
            bw.newLine();
        }
        //调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
        bw.flush();
        bw.close();
    }

 

 

搜索

复制

标签:输出,字节,字符,缓冲,BufferedWriter,new
来源: https://www.cnblogs.com/pengtianyang/p/16477416.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有