黑马程序员_java的IO流(对第十八课IO理解以及文件读取和字符写入总结)

时间:2021-07-23 21:02:40

------- android培训java培训、期待与您交流! ----------


通过今天对java语言IO流的学习,我来给自己的学习内容做下简单直白的总结:

首先,让我来总结下IO流的作用:IO流是用来处理设备之间(比如内存,硬盘等)的数据传输的..

注意:在java中,用来操作数据是通过流的方式....(使用流的形式就能操作数据)...

而java用来操作流的对象都在IO包中....


流如果按操作数据可分为2种:

字节流(体系中的顶层抽象类 :IntputStream 和 OutputStream)  

 字符流(体系中的顶层抽象类 :Reader和Writer)

注意:这4个顶层抽象类派生出来的子类名称,都是以其父类名做为子类名的后缀...

流如果按流向也可分为2种:输出流    输入流


我先来总结下字符流的特点:

既然IO流是用来操作数据的(传输),那么数据最常见的体现形式就是:文件..

我们如何在一个文件中写入数据呢?

我们可以使用Writer类下面的一个用来文件写入流的子类对象:FileWriter类

注意:该类一初始化就要有被操作的文件 ,该文件会自动生成到你指定的目录下..如果该目录下已经有相同文件,则会被覆盖掉..代码如图:

黑马程序员_java的IO流(对第十八课IO理解以及文件读取和字符写入总结)

扩展:当我们需要在已有的文件中续写数据时,我们可以在FileWriter类的构造函数中加入true,它就不会覆盖掉已有的文件,而是在已有文件里内容的末尾处续写....IO流中,凡是调用了底层的资源方法,都会发生IO异常(比如创建文件,写入以及删除等,它们都调用了底层来完成的)..



以上是对于如何在文件中写入数据,那如何才能读取文件的数据呢?

我们可以使用Reader类下面的一个用来文件读取流的子类对象:FileReader类

读取文件的数据有二种方法:

第一种方式是:一个字符一个字符的读取   代码如图:

黑马程序员_java的IO流(对第十八课IO理解以及文件读取和字符写入总结)

第二种方式是:通过字符数组进行读取   代码如图:

黑马程序员_java的IO流(对第十八课IO理解以及文件读取和字符写入总结)