Java IO 总结(一)
来源:互联网 发布:单片机编程基础知识 编辑:程序博客网 时间:2024/05/01 20:58
学习Java中的IO,首先要理解Java中IO的流模型。
所谓流,可以假想成河流,流的数据源,就是河流的发源地,流是单向的,流的单向性,就像河流的水流是单向的一样。
Java中的流可以从两方面的分类:
第一种分类:输入流和输出流
第二种分类:节点流和处理流
输入流和输出流,就是程序和外部的数据源进行IO操作。这些数据源可以是可以是内存,文件,还可以是网络上的一个URL。
输入流和输出流的定义都是相对程序来说的,也就是输入流是从外部读取数据进入程序,然后由程序处理。输出流是从程序中输出的数据。
节点流和处理流。节点流是直接跟数据源连接的流,而处理流是用来装饰节点流的,是为使节点流有更多的功能。
io流 输入流 输出流字节流 InputStream OutputStream字符流 Reader Writer
对于上面的字节流和字符流,他们的区别就在于字节流会以字节的形式来处理数据,而字符流会以字符的形式来处理数据。
对于字节流的输入流,就是 InputStream的抽象类向下延伸。因为数据源可以在在文件中,在内存中。所以,一般的字节输入流有 FileInputStream、ByteArrayInputStream 等方法。因此,对应的,就有字节输出流的 FileOutputStream、ByteArrayOutputStream。
而对于字符流的输入流,就是 Reader的抽象类的向下延伸。
同样的,数据源可以在文件中,在内存中。
因此,一般的字符输入流有 FileReader、CharArrayReader等方法。
输出流也相对应。
上面了解了节点流。下面是处理流。
所谓处理流,就是不直接连接到数据源,而是对连接数据流的节点流进行装饰,使得流能提供更多更好的功能。
常见的处理流有
缓冲流。BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream。
这种流是就是为增加了缓冲功能,提高的IO效率。字节流转为字符流。 InputStreamReader,InputStreamWriter,当然,可以在创建此类的时候设置字符编码。
对象序列化流。ObjectInputStream、ObjectOutputStream。
各种类型数据的输入输出。DataInputStream、DataOutputStream。
行流。LineNumberReader;LineNumberInputStream
打印流。PrintWriter;PrintOutputStream。
- Java IO 总结(一)
- java Io总结一(输入输出流)
- java中的IO操作总结(一)
- Java IO流学习总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- Java中的IO操作总结(一)
- java IO流总结篇(一)
- java中的IO操作总结(一)
- java中的IO操作总结(一)
- java中的IO流总结(一)
- Java总结(9) IO(一)
- Java IO 基础总结(一)
- IO总结(一)
- java学习笔记之IO流总结(一)
- JAVA IO流总结(一)——字符流
- Error generating final archive: java.security.cert.CertificateParsingException: java.io.IOException:
- xcode6 创建空的工程
- Scala的匿名函数!
- 云互联【H.E美国服务器】24G内存/1TB/100M 599元/月
- 关于src 和 drawable 之间的区别以及详细用法
- Java IO 总结(一)
- iptables DNAT详解
- flazr针对rtmp进行批量直播测试
- 字典序问题
- StringBuilder的使用
- Error:duplicate files during packaging of APK..Path in archive: META-INF/NOTICE.txt
- Android学习之当ScrollView遭遇ListView(GridView)
- iptables中DNAT与SNAT的理解
- MVC Html.AntiForgeryToken() 防止CSRF攻击