Java IO基础总结

Java IO基础总结

Java中使用IO(输入输出)来读取和写入,根据数据走向可分为输入流和输出流,用户可以从输入流中中读取信息,但不能写它,相反,对输出流,只能往输入流写,而不能读它(输入流表示从一个源读取数据,输出流表示向一个目标写数据)。

Java.io包中几乎包含了所有操作输入、输出需要的类,所有这些类代表了输入源和输出目标。

IO流的分类

根据处理的数据类型的不同分为:字符流和字节流

根据数据流向不同分为:输入流和输出流

1、字节流可以处理所有数据类型的数据,在java中以Stream结尾

2、字符流处理文本数据,在java中以Reader和Writer结尾

字符流和字节流:

字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:

读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。
处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。
结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

Java IO流的详细流程图:

输入流和输出流:

对输入流只能进行读的操作,对输出流只能进行写的操作,程序中需要根据待传输数据的不同特性而使用不同的流。

       

从Java IO流的流程图中可以看出:

输入字节流InputStream是所有的输入字节流的父类,它是一个抽象类。

输出字节流OutputStrea是所有的输出字节流的父类,它也是一个抽象类。

......

 Java IO操作的详细地址:http://www.runoob.com/java/java-files-io.html

posted @ 2018-11-28 19:57  追梦滴小蜗牛  阅读(256)  评论(0编辑  收藏  举报