zoukankan      html  css  js  c++  java
  • java 缓冲流

    缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写效率,同时增加了一些新的方法。

    四种缓冲流

    BufferedReader(Reader in)

    BufferedReader(Reader in,int sz)//sz表示自定义缓冲区大小

    BufferedWriter(Writer out)

    BufferedWriter(Writer out,int sz)

    BufferedInputStream(InputStream in)

    BufferedInputStream(InputStream in,int sz)

    BufferedOutputStream(OutputStream out)

    BufferedOutputStream(OutputStream out,int sz)

     

    BufferedReader提供readLine方法用于读取一行字符串。

    BufferedWriter提供了newLine方法用于写入一个行分隔符。等价于//.writer(" ");

    对于输出的缓冲流,写出的数据会先在内存中缓冲,使用flush方法将会使内存中的数据立刻写出。

    Eg:

    package june6D;

    import java.io.BufferedReader;

    import java.io.BufferedWriter;

    import java.io.FileReader;

    import java.io.FileWriter;

    import java.io.IOException;

    //用缓冲流,性能相对高些

    public class BufferedInputStreamDemo22 {

        public static void main(String[] args) throws IOException {

            /*

             * BufferedInputStream bis = new BufferedInputStream(new

             * FileInputStream("68.txt")); BufferedOutputStream bos = new

             * BufferedOutputStream(new FileOutputStream("buffer.txt"));

             *

             * int len = 0;

             * while((len = bis.read()) != -1){

             * bos.write(len);

             * }

             * bos.close();

             * bis.close();

             */

           

            try (

    BufferedReader br = new BufferedReader(new FileReader("68.txt"));

        BufferedWriter bw = new BufferedWriter(new FileWriter(

                            "bufferWriter.txt")))

    {//java7新特性,自动关闭资源

                String Line = null;

                while ((Line = br.readLine()) != null) {

                    bw.write(Line);

                    bw.newLine();//此时必须加上换行操作,注意这是个新用法(方法)

                }

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

    }

    我的总结:在后续的学习中,缓冲流用到的会很多,因为效率高!

  • 相关阅读:
    在mybatis中调用存储过程的时候,不能加工语句
    mybatis sql注入
    关于mybatis缓存配置讲解
    execution(* com.sample.service.impl..*.*(..))
    mybatis中if test 可以使用== != null '' and or 和括号()
    java中可以对时间进行加减处理,有时候不用在sql语句中处理
    【Guava】RateLimiter类
    maven编译报错 -source 1.5 中不支持 lambda 表达式
    easyui打开dialog后给弹出框内输入框赋值问题
    HttpClient 基于连接池的使用
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11136258.html
Copyright © 2011-2022 走看看