java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write。怎么理解记忆很重要。

直接连接读写对象的是结点流,例如对文件读取字节类的名字就是FileInputStream,FileOutputStream,这个是字节流,因为后缀是Steam,字节流一次处理的是8位的Byte,我们知道频繁的读写硬盘会减少硬盘的寿命,加入我们要写如1M的数据,如果用这个类来写入的话就不好了。解决的办法是在字节流上套一个缓冲流。Buffered,用类BufferedOutputStream,

  BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。BufferedInputStream与BufferedOutputStream分别是FilterInputStream类和FilterOutputStream类的子类,实现了装饰设计模式。

  参考博客http://blog.csdn.net/liaisuo/article/details/39650087

  这段话是抄袭别人的。

但是这样还是字节流,如果想转换成字符流就在FileInputStream 上套一个InputStreamRead将字节流转换成字符流之后在套上BufferedRead也是字符缓冲流。就可以用Readline(),来读取文件一整行的内容了。

  http://xyiyy.iteye.com/blog/361476

system.in 是一个字节流,可以用InputStreamRead 转换成字符流,然后套上缓冲流BufferedRead就可以整行的读取键盘的输入内容了

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

  另外要记住ByteArrayInputStream,结点流读取的是字节数组。

  CharArrayReader看名字就知道了这是结点流不过是读取的字符数组。

java这部分类命名有很工整的对称性,注意记忆方式。

java的IO流的更多相关文章

  1. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

  2. 【Java】IO流简单分辨

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...

  3. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  4. Java中IO流的总结

    有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...

  5. JAVA中IO流总结

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...

  6. 第15章-输入/输出 --- 理解Java的IO流

    (一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...

  7. Java基础IO流(二)字节流小案例

    JAVA基础IO流(一)https://www.cnblogs.com/deepSleeping/p/9693601.html ①读取指定文件内容,按照16进制输出到控制台 其中,Integer.to ...

  8. java的Io流学习

    Java中io流的学习(一)File:https://blog.csdn.net/qq_41061437/article/details/81672859 Java中io流的学习(二)FileInpu ...

  9. Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream)

    Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我已经分享过很多的J ...

随机推荐

  1. python Flask restful框架

    框架地址:https://github.com/flask-restful/flask-restful 文档:http://flask-restful.readthedocs.io/en/0.3.5/ ...

  2. 显示实时日期时间(html+js)

    <!DOCTYPE><html> <head> <title> New Document </title> <meta name=&q ...

  3. Bitmap的分析与使用.md

    https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Bitmap的分析与使用.md

  4. .Net文件操作

    文件操作 File类,FileInfo类.using System.IO命名空间(一)创建 方法一: 1 private string path = @"F:\Text\aaa.txt&qu ...

  5. Map Columns From Different Tables and Create Insert and Update Statements in Oracle Forms

    This is one of my most needed tool to create Insert and Update statements using select or alias from ...

  6. ABAP基本数据类型、通用类型

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. SQL判断临时表是否存在

    IF EXISTS(select * from tempdb..sysobjects where id=object_id('tempdb..#tb')) BEGIN DROP TABLE #tb E ...

  8. ServiceStack.OrmLite 笔记2 -增

    ServiceStack.OrmLite 笔记2 这篇主要介绍 增加 db.Insert(new Employee { Id = 1, Name = "Employee 1" }) ...

  9. UpdatePanel的简单用法(转)

    微软AJAX虽然是过时的玩意,但是得维护公司之前的老项目,转载看看. 局部更新是ajax技术的最基本,也是最重要的用法,今天大概把asp.net ajax中的局部更新控件 updatepanel的用法 ...

  10. Javascript Object Layout