专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 编程基础入门之Java字符输出流

编程基础入门之Java字符输出流

更新时间:2020-07-28 16:38:56 来源:动力节点 浏览1748次

一、字符输出流

java.io.Writer抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。

它定义了字节输出流的基本共性功能方法。

void write(int c)写入单个字符。写入0到65535之间的Unicode码。

void write(char[]cbuf)把整个字符数组的内容写进去。

abstract void write(char[]cbuf,int off,int len)写入字符数组的某一部分,off数组的开始索引,len写的字符个数。

void write(String str)写入字符串。

void write(String str,int off,int len)写入字符串的某一部分,off字符串的开始索引,len写的字符个数。

void flush()刷新该流的缓冲,则立即将它们写入预期目标。

void close()关闭此输出流并释放与该流关联的所有系统资源

Writer抽象类下面的子类结构:

编程基础入门之Java字符输出流

图中深色的为节点流,浅色的为处理流。

二、FileWriter类

java.io.FileWriter类是写出字符到文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。

作用:把内存中字符数据写入到文件中。

1、构造方法

FileWriter(File file):创建一个新的FileWriter,给定要读取的File对象。

FileWriter(String fileName):创建一个新的FileWriter,给定要读取的文件的名称。

参数:写入数据的目的地。

File file:文件对象

String fileName:文件的路径。

构造方法作用:

①会创建一个FileWriter对象

②会根据构造方法中传递的文件/文件的路径,创建对象

③会把FileWriter对象指向创建好的文件。

字符输出流的使用步骤【重要】:

①创建FileWriter对象,构造方法中绑定要写入数据的目的地

②使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)

③使用FileWriter中的方法flush,把内存缓冲区中的数据,刷新到文件中

④释放资源(会先把内存缓冲区中的数据刷新到文件中)

2、基本写入数据

(1)写出字符:write(int b)方法,每次可以写出一个字符数据,代码使用演示:

public static void main(String[] args) throws IOException {
        //1.创建FileWriter对象,构造方法中绑定要写入数据的目的地
        FileWriter fw = new FileWriter("E:\\d.txt");
        //2.使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)
        //void write(int c) 写入单个字符。
        fw.write(97);
        //3.使用FileWriter中的方法flush,把内存缓冲区中的数据,刷新到文件中
        fw.flush();
        //4.释放资源(会先把内存缓冲区中的数据刷新到文件中)
        fw.close();
    }

注意:如果未调用close方法,数据只是保存到了缓冲区,并未写出到文件中。

(2)关闭与刷新

区别:

flush:刷新缓冲区,流对象可以继续使用。

close:先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。

public static void main(String[] args) throws IOException {
        //1.创建FileWriter对象,构造方法中绑定要写入数据的目的地
        FileWriter fw = new FileWriter("E:\\e.txt");
        //2.使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)
        //void write(int c) 写入单个字符。
        fw.write(97);
        //3.使用FileWriter中的方法flush,把内存缓冲区中的数据,刷新到文件中
        fw.flush();
        //刷新之后流可以继续使用
        fw.write(98);

        //4.释放资源(会先把内存缓冲区中的数据刷新到文件中)
        fw.close();

        //close方法之后流已经关闭了,已经从内存中消失了,流就不能再使用了
        fw.write(99);//IOException: Stream closed
    }

注意:即便是flush方法写出了数据,操作的最后还是要调用close方法,释放系统资源。

编程基础入门之Java字符输出流

以上就是动力节点java培训机构的小编针对“编程基础入门之Java字符输出流”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>