各位小伙伴们大家好,在之前的文章中,小编介绍了Java之字符输入流,Reader类的简单介绍,它的作用是将硬盘中的数据以字符的方式读取到内存。这次小编要介绍的是字符输出流,将内存中的数据读取到硬盘。具体如下:
java.io.writer:字符输出流,是所以字符输出流的最顶层的父类,是一个抽象类
共性的成员方法:
1.void write(int c)写入单个字符
2.void write(char[] cbuf)写入字符数组
3.abstract void write(char[] cbuf,int off,int len)写入字符数组的某一部分,off数组的开始索引,len写的字符个数
4.void write(String str)写入字符串
5.void write(String str,int off,int len)写入字符串的一部分,off字符串的开始索引,len写的字符个数。
6.void fiush()刷新该流的缓冲
7.void close()关闭此流,但要先刷新它。
直接已知子类:
BufferedWriter,CharArrayWriter,FilterWriter,OutputStreamWriter,PipedWriter,PrintWriter,StringWriter
这次,小编要介绍的是,java.io.FileWriterextends OutputStreamWriter extends writer
FileWriter:文件字符输出流
作用:把内存中的数据写入到文件中
构造方法:
FileWriter(File file)根据给定的File对象构造一个FileWriter对象。
FileWriter(String fileName)根据给定的文件名构造一个FileWriter对象
参数:写入数据的目的地
String filename:文件的路径
File file:是一个文件
构造方法的作用:
1. 会创建一个FileWriter对象
2. 会根据构造方法中传递的文件/文件路径,创建文件
3. 会把FileWriter对象指向创建好的文件
代码如下:
public class Demo01Writer {
public static void main(String[] args) throws IOException {
//1.创建FileWriter对象,构造方法中绑定要写入数据的目的地
FileWriter fw=new FileWriter("D:\\a.txt");
//2.使用FileWriter中的方法writer,把数据写入到内存缓冲区(字符转换为字节的过程)
//3.void write(char[] cbuf)写入字符数组
char[] ch= {'1','2','3'};
fw.write(ch);
//3.使用FileWriter中的方法flush,把内存缓冲区中的数据,刷新到文件中
//fw.flush();
//4.释放资源(会先把内存缓冲区中的数据刷新到文件中)
fw.close();
}
关于字符输出流,原理其实和字节输出流差不多,只不过字符输出流必须要有一个缓冲区,所以如果要把内存中的数据写入到文件中,必须要有void fiush()方法,或者void close()方法。关于这篇文章,小编就先说到这里,希望这篇文章可以帮到大家,也欢迎各位小伙伴补充和纠错。