标签:
1、I/O操作指的是输入和输出流的操作。相对内存而言,当我们从数据源中将数据读取到内存中,就是输入流,也叫读取流。当我们将内存中处理好的数据写入数据源,就是输出流,也叫写入流。
2、流按照内容分类:字节流、字符流、对象流。
其实真正的流只有一种:字节流。数据的传输在底层都是以二进制方式传输,所以无论哪种流,都是字节流。字符流和对象流是在字节流基础上做了一层封装,以方便对字符数据和对象数据进行操作。
3、所有字节流的父类:InputStream和OutputStream。
所有字符流的父类:Reader和Writer
4、流操作的步骤:
建立流:建立内存和数据源之间传输数据的通道;
操作流:操作传输的数据;
关闭流:关闭内存和数据源之间的通道,释放资源。
5、当操作文件流时,如果文件不存在,读取流会抛出FileNotFoundException,写入流会创建新文件,但前提是该文件所在目录必须存在。如果目录不存在,同样会抛出FileNotFoundException。
6、流使用完毕后,必须关闭。如果不关闭,浪费内存资源,另外,写入流有可能写不进数据。
7、File 文件类:
8、递归:在一个方法中调用同一个方法。
9、对象序列化:当需要对对象进行数据传输时,由于对象中的数据比较庞大,所以在传输对象前需要将对象打散成字节序列,以方便传输。这个过程,称为对象序列化。到达目的地后,又需要将字节序列还原成对象,这个过程叫反序列化。
标签:
原文地址:http://www.cnblogs.com/littlejava/p/5470614.html