---恢复内容开始---
今日学习目标
- 能够说出IO流的分类和功能
- 能够使用FileWirter写数据到文件
- 能够明确FileWriter写数据使用两种路径的区别
- 能够说出FileWriter中关闭和刷新方法的区别
- 能够使用FileWriter写数据的5个方法
- 能够使用FileWriter写数据实现换行和追加写
- 能够使用FileReader读数据
- 能够使用FileReader读数据一次一个字符数组
- 能够明确字符缓冲流的作用和基本用法
- 能够使用缓冲流的特殊功能
FileWriter和FileReader
IO流概述和分类
- IO流用来处理设备之间的数据传输
- 文件复制(U盘拷贝内))
- 上传文件(微信图片,QQ空间图片)
- 下载文件(迅雷)
- IO流分类
- 输出流
- FileWriter
- 输入流
- FileReader
- 输出流
- 图解
FileWriter
FileWriter写数据
- 构造方法
- FileWriter(String fileName)传递一个文件名称
- 成员方法
- void write(Stringstr)往文件中写入一个字符串。
- void flush()刷新该流的缓冲,把内存缓冲区中的数据刷新到文件中。
- void close()关闭此流,但要先刷新它。
- 输出流写数据的步骤:
- 1.创建输出流对象
- 2.调用输出流对象的写数据的方法
- 3.释放资源
import java.io.FileWriter; import java.io.IOException; public class Demo01FileWriter { public static void main(String[] args) throws IOException { //创建输出流对象 FileWriter fw = new FileWriter("d:\a.txt"); /* * 创建输出流对象醉了哪些事情: * A:调用系统资源创建了一个文件 * B:创建输出流对象 * C:把输出流对象指向文件 */ //调用输出流对象的写数据的方法 //写一个字符串数据 fw.write("IO流你好"); //数据没有直接写到文件,其实是写到了内存缓冲区 fw.flush(); //释放资源 //通知系统释放和该文件相关的资源 fw.close(); //while(true){} } }
代码执行之后会在d盘目录下生成一个a.txt 文件,文件内容为IO流你好。
FileWriter写数据路径问题及关闭和刷新方法的区别
- 路径:
- 相对路径:相对当前项目而言的,在项目的根目录下(a.txt)
- 绝对路径:以盘符开始的路径(d:\a.txt)
- close()和flush()方法的区别:
- flush():刷新缓冲区。流对象还可以继续使用。
- close():先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。
import java.io.FileWriter; import java.io.IOException; public class Demo02FileWriter { public static void main(String[] args) throws IOException { //创建输出流对象 //FileWriter fw = new FileWriter("d:\a.txt"); FileWriter fw = new FileWriter("a.txt"); //调用输出流对象的写数据方法,并刷新缓冲区 fw.write("helloworld"); fw.flush(); fw.write("java"); fw.flush(); //释放资源 fw.close(); //Stream closed 流关闭 //fw.write("javaee"); //fw.flush(); //这里需要关闭流,不然就会报错,提示要关闭流 } }