33字符输出流Writer

本文详细介绍了Java中的FileWriter类,它是字符输出流的实现,用于将字符数据写入文件。文章列举了FileWriter的重要方法,如write、flush和close,并通过示例代码展示了如何使用FileWriter进行文件写入操作,包括写入单个字符、字符数组、字符串等。同时,强调了数据刷新和资源释放的重要性。
摘要由CSDN通过智能技术生成

知识点:

作用:把文件中的字符数据写入到文件
java.io.Writer:字符输出流,是所有字符输出流的顶层父类,是一个抽象类
 共性成员方法:
   void write(int c)写入单个字符
   void write(char[]) 写入字符数组
   abstract void writer(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() 关闭此流,但要先刷新它

   java.io.FileWriter extends继承 OutputStreamwriter-继承 Writer
   FileWriter:文件字符输出流 作用:把文件中的字符数据写入到文件
   构造方法:
     FileWriter(File file)根据给定的File对象构造一个FileWriter对象  File file 一个文件
     FileWriter(String filename)根据给定的文件名构造一个FileWriter对象  String filename文件路径
     构造方法作用;
     1.会创建一个FileWriter对象
     2.会根据构造方法中传递的文件/文件路径,创建文件
     3.会把FileWriter对象指向创建好的文件
步骤:
1. 创建FileWriter对象,构造方法中要绑定要写入数据的目的地
2. 使用FileWriter中的方法,write,把数据写入到内存缓冲区(字符转换为字节的过程)
3. 使用FileWriter中的方法flush,把内存缓冲区的数据,刷新到文件,不写第3条写第4条也会刷新
4. 释放资源(会把内存缓冲区中的数据刷新到文件)

package Demo33Writer;

import java.io.FileWriter;
import java.io.IOException;

/*
作用:把文件中的字符数据写入到文件
java.io.Writer:字符输出流,是所有字符输出流的顶层父类,是一个抽象类
 共性成员方法:
   void write(int c)写入单个字符
   void write(char[]) 写入字符数组
   abstract void writer(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() 关闭此流,但要先刷新它

   java.io.FileWriter extends继承 OutputStreamwriter-继承 Writer
   FileWriter:文件字符输出流 作用:把文件中的字符数据写入到文件
   构造方法:
     FileWriter(File file)根据给定的File对象构造一个FileWriter对象  File file 一个文件
     FileWriter(String filename)根据给定的文件名构造一个FileWriter对象  String filename文件路径
     构造方法作用;
     1.会创建一个FileWriter对象
     2.会根据构造方法中传递的文件/文件路径,创建文件
     3.会把FileWriter对象指向创建好的文件
步骤:
1.	创建FileWriter对象,构造方法中要绑定要写入数据的目的地
2.	使用FileWriter中的方法,write,把数据写入到内存缓冲区(字符转换为字节的过程)
3.	使用FileWriter中的方法flush,把内存缓冲区的数据,刷新到文件,不写第3条写第4条也会刷新
4.	释放资源(会把内存缓冲区中的数据刷新到文件)

 */
public class DemoWriter {
    public static void main(String[] args) throws IOException {
        //1.	创建FileWriter对象,构造方法中要绑定要写入数据的目的地
        FileWriter fw=new FileWriter("E:\\多线程\\d.txt");
        //2.	使用FileWriter中的方法,write,把数据写入到内存缓冲区(字符转换为字节的过程)
        fw.write(97);//跟字节输出流不一样,如果不刷新,不会写入数据到文件
        //3.	使用FileWriter中的方法flush,把内存缓冲区的数据,刷新到文件
        fw.flush();//写a

        //void write(int c)写入单个字符
        fw.write(98);//刷新之后,可以继续写数据 写b

        //void write(char[]) 写入字符数组
        char[] cs={'a','b','c','d','e'};//定义数组
        fw.write(cs);//写abcde

        //abstract void writer(char[] cbuf,int off,int len) 写入字符数组的一部分,off字符数组开始索引,len写入字符个数
        fw.write(cs,1,3);//写bd

        //void write(String str) 写入字符串
        fw.write("传智播客");//写传智播客

        //void write(String str,int off,int len) 写入字符串的某一部分,off字符串开始索引,len写入字符个数
        fw.write("黑马程序员",2,3);//写程序员

        System.out.println("写入成功");

        //4.	释放资源(会把内存缓冲区中的数据刷新到文件)
        fw.close();//关闭资源之后,就不能在写数据了

    }
}

空的d.txt文件 

 运行代码:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵俺第一专栏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值