33字符输出流Writer

知识点:

作用:把文件中的字符数据写入到文件
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文件 

 运行代码:

 

猜你喜欢

转载自blog.csdn.net/dengfengling999/article/details/123997243
今日推荐