一、使用字节流读写文本文件
1、使用字节流类FileInputStream 读文本文件
InputStream 抽象类的常用子类 FileInputStream ,称为文件输入流 ,将文件中的数据输入到内存中,用于读取文本文件中的数据。
常用方法
![275a5bad43c03a2bb1044866b59260ec.png](https://i-blog.csdnimg.cn/blog_migrate/460f3a4eac3d0afc366643a9d747ea50.png)
主要步骤:
1、导入相关类,并抛出异常
2、构造一个文件输入流对象,将文件输入流对象 (fileInputStream )与源数据源(E:obgeobgeTest.txt)关联起来
注意:要在路径 E:obgeobgeTest.txt 下弄点数据,如帅气的obge
3、利用文件输入流类的方法读取文本中的文件内容
4、关闭流
实际运行结果
![95b2ec189d32ae3ff9c6a9a3095041f4.png](https://i-blog.csdnimg.cn/blog_migrate/acff417fb682960ef24977f36dd873aa.jpeg)
代码:
package
2、使用字节流类FileOutStream 写文本文件
OutStream 抽象类的常用子类 FileOutStream ,称为文件输出流,用于把文件中的数据输出到文件中,就是把内存中的数据写到指定的文本文件中。
常用方法:
![1cbb79baf54e908fa09d9466451c07d4.png](https://i-blog.csdnimg.cn/blog_migrate/816a8244da23bfe828c76add0917b9d7.png)
主要步骤:
1、导入相关类,并抛出异常
2、构造一个文件输出流对象,将文件输出流对象 (fileOutPutStream)与源数据源(E:obgeobgeTest.txt)关联起来
注意:当obge 文件下没有 obgeTest.txt 这个文件时,会先创建此文件然后在写数据,有 obgeTest.txt 这个文件的话,默认情况下会覆盖原有文件中的内容,第二个参数 true 的作用就是像文件末尾中添加数据,
3、利用文件输出流类的方法将数据写入到文本文件中
4、关闭流
运行结果
![2bd20bfdf8a6a31986f4a6c320932ce0.png](https://i-blog.csdnimg.cn/blog_migrate/ccaebfcbb52afacd4c40b86c635a4c98.jpeg)
代码:
package
当然你要想看看报错
![e326369e2f30bb9d583d0b98ba15d50e.png](https://i-blog.csdnimg.cn/blog_migrate/17299eb79396fdc9d9cb044e7b9d1173.jpeg)
二、使用字符流读写数据
1、使用字符流类BufferedReader 和 FileReader 读取文本文件
BufferedReader 和 FileReader 时抽象类 Reader 的子类,通过字符流的方式读取文件,并使用了缓冲区,提高了读取文本文件的效率。
常用方法:
![676bdf7c24ded78fdf6bfe759a536224.png](https://i-blog.csdnimg.cn/blog_migrate/f9b85018318cfcce28472eb4ad52c84d.png)
主要步骤:
1、导入相关类,并抛出异常
2、将对象 (fileReader)与源数据源(E:obgecharstu.txt)关联起来
注意:要在路径 E:obgeobgeTest.txt 下弄点数据,如帅气的obge
3、创建 BufferedReader 对象,将fileReader放入其中
4、利用BufferedReader类的方法读取文本中的文件内容
5、关闭流
运行结果
![4a3052bdc04682ee7d39cc1c4759fd7a.png](https://i-blog.csdnimg.cn/blog_migrate/49afc0c1aa133977578eb83fa1abcd21.jpeg)
代码:
package
2、使用字符流类BufferedWriter 和 FileWriter 写文本文件
BufferWriter 和 FileWriter 是抽象类 Writer的子类,通过字符流的方式把数据写到文本文件中,并使用了缓冲区,提高了写文本文件的效率。
常用方法:
![808a49d37300ee7983cb49bdd74a1af8.png](https://i-blog.csdnimg.cn/blog_migrate/b12f3fd21e780d85902f0b9bfe266704.png)
主要步骤:
1、导入相关类,并抛出异常
2、将对象 (fileReader)与源数据源(E:obgecharstu.txt)关联起来
注意:如果没有使用第二的参数为true,会覆盖原有数据
3、创建 BufferedReader 对象,将fileReader放入其中
4、利用BufferedReader类的方法读取文本中的文件内容
5、关闭流
运行结果
![2e5695da997a2ede90ee8d50e5b324b0.png](https://i-blog.csdnimg.cn/blog_migrate/fdf79750f4bd99630d320d1df0e091d8.jpeg)
使用BufferedWriter 类如何追加内容?
发现原来的数据没有了,怎么办,就是在没有使用FileWriter 中的,允许追加字符串的多参构造方法
![5fa6f864904ec4439e43d40f9cc1a184.png](https://i-blog.csdnimg.cn/blog_migrate/40ec9c031fe03daac59b2cddeefc1615.jpeg)
当然也有别的方法: 利用 BufferedWriter 中自带的构造方法
![47603e6c9736cdc4bea5a6632da9469b.png](https://i-blog.csdnimg.cn/blog_migrate/5db9031166688d88556d56dd3ad33d26.jpeg)
代码:
package