java的I/O技术可以将数据保存到文本、二进制、ZIP压缩文件中,下面来说说一些基本的常识(今天只讲理论)。先来说说流,何为流?“流就是一组有序的数据序列,根据操作的类型,可以分为输入(Input)、输出(Output)两种。流为计算机提供了一条通道程序,可以把源中的字节序列送到目的地。源目的地可能会是磁盘文件,也可以是键盘、鼠标、内存、或显示器等,举个例子:冠希早年的XX门,源先是内存卡,后来就存入到硬盘,再后来被传到网上,直到就是你经常晚上一个人偷偷地看...这就是目的地的多维性。”
输入流就是程序从指定的源的输入流中读取数据中的源,加载到程序中,不是平常我们理解的,这时要把计算机当做一个独立的个体,从它的角度来看。
输出流就是程序要将源中的数据送达的目的地,目标可能是文件、网络、压缩包、控制台等其他的数据输出目标。
1.输入流 InputStream类是字节输入流的抽象类,是所有字节输入流父类。遇到错误会引发IOException异常。下面是一点简要说明:
常用的方法
注:并不是所有的InputStream类的子类都支持inputstream中定义的所有方未能,如skip()、mark()、reset()、等,这些方法只对一些字类有用。
JAVA中的字符是unicode编码。是双字节的,inputstream是用来处理字节的,在处理文本是不太方便,于是便有了Reader类,但reader类不是为了取代inputstream类,只是一个简化。reader类是字符输入流的抽象类,所以的输入流实现都是它的字类。下面看下结构层次: