IO流有很多种,按照操作数据的不同,可以分为字节流和字符流,按照数据传输方向的不同又可分为输入流和输出流,程序从输入流中读取数据,向输入流中写入数据。在IO包中,字节流的输入输出流分别用java.io.InputStream和java.io.outputStream表示,字符流的输入输出流分别用java.io.Reader和java.io.Writer表示。
2.Filewriter
需求:往文件中写数据
写数据---------输出流------------Filewriter方法
Filewriter:构造方法
Filewriter (String fileName):传递一个文件名称
输出流写数据的步骤:
1.创建输出流对象
2.调用输出流对象的写数据方法
3.释放资源
例:
package day01;
import java.io.FileWriter;
import java.io.IOException;
public class FilewriterDemo {
public static void main(String[] args) throws IOException {
//a.创建输出流对象
/*创建输出流对象都干了什么?
* 1.调用系统资源创建了一个文件,就是c盘下的a.txt文件
* 2.创建了输出流对象
* 3.吧输出流对象指向文件
*/
FileWriter fw = new FileWriter("c:\\a.txt");
//b.调用输出流对象写数据的方法,写一个字符串数据
fw.write("你好,之华"); //写了之后数据并没有进入文件,必须有下面这个刷新缓冲区的方法
//数据没有直接写到文件,其实是写到了缓冲区
//c.刷新缓冲区
fw.flush();
//d.释放资源(其实是通知系统释放和该文件有关的资源,也就可以进行删除等操作)
fw.close();
}
}
3.相对路径:相对于当前项目而言的在项目的根目录下(a.txt)
绝对路径:以盘符开始 的路径(d:\\a.txt)
4.close()和flush()方法的区别:
flush():刷新缓冲区,流对象还可以继续使用
close():先刷新缓冲区,然后在通知系统释放资源。在这个方法编写完成后,先前创建的流对象,就不能在被调用使用了,也就是不能再使用该对象来写数据了。