Java IO流(四)-字符流输出流

字符输出流

1.1 字符流输出介绍

  • Writer类
    • 写入字符流的最顶层的类 , 是一个抽象类 ,不能实例化 , 需要使用其子类FileWriter类
  • FileWriter类 : 用来写入字符文件的便捷类

1.2 FileWriter的成员

  • 构造方法 :

    • public FileWriter(File file) : 往指定的File路径中写入数据
    • public FileWriter(String fileName) : 往指定的String路径中写入数据
  • 成员方法 :

    • void write(int c)写一个字符
      void write(char[] cbuf)写入一个字符数组
      void write(char[] cbuf, int off, int len)写入字符数组的一部分
      void write(String str)写一个字符串
      void write(String str, int off, int len)写一个字符串的一部分
    • flush()刷新流,还可以继续写数据
      close()关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据

1.3 FileWriter写数据的步骤

  • 1 创建字符输出流对象
    • 注意事项:
      如果文件不存在,就创建。但是要保证父级路径存在。
      如果文件存在就清空
  • 2 写数据
    • 注意事项:
      写出int类型的整数,实际写出的是整数在码表上对应的字母。
      写出字符串数据,是把字符串本身原样写出。
  • 3 释放资源
    • 注意事项:
      每次使用完流必须要释放资源。
public class FileWriterDemo1 {
    public static void main(String[] args) throws IOException {
        // 创建字符输出流对象
        // 如果文件不存在会创建一个空的文件
        // 如果文件存在 , 会把文件中的内容清空
        FileWriter fw=new FileWriter("filewriter.txt");

        //写数据
        fw.write('a');
        fw.write('b');
        //刷新流,把流中的数据刷到硬盘中
        fw.flush();

        //释放资源
        fw.close();
    }
}

/*
    Writer类 : 写入字符流的最顶层的类 , 是一个抽象类 ,不能实例化
    需要使用其子类FileWriter类

    FileWriter类 : 用来写入字符文件的便捷类
    构造方法 :
        public FileWriter(File file) : 往指定的File路径中写入数据
        public FileWriter(String fileName) : 往指定的String路径中写入数据
    成员方法
        void write(int c)	写一个字符
        void write(char[] cbuf)	写入一个字符数组
        void write(char[] cbuf, int off, int len)	写入字符数组的一部分
        void write(String str)	写一个字符串
        void write(String str, int off, int len)	写一个字符串的一部分
        flush()	刷新流,还可以继续写数据
        close()	关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据
 */
public class FileWriterDemo2 {
    public static void main(String[] args) throws IOException {
        // 创建字符输出流对象
        FileWriter fw = new FileWriter("writer2.txt");
        //写数据
        //void write(int c)	写一个字符
        //fw.write("你好");
        //void write(char[] cbuf)	写入一个字符数组
        char[] chs = {'a', 'b', 'c', 'd', 'e'};
        //fw.write(chs);
        //void write(char[] cbuf, int off, int len)	写入字符数组的一部分
        //fw.write(chs,2,3);
        //void write(String str)	写一个字符串
        //fw.write("hello,world");
        //void write(String str, int off, int len)	写一个字符串的一部分
        fw.write("World",2,3);
        //释放资源
        fw.close();
    }
}

1.4 FileWriter练习

public class FileWriteDemo3 {
    public static void main(String[] args) throws IOException {
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入用户名:");
        String username=sc.nextLine();

        System.out.println("请输入密码");
        String password=sc.nextLine();

        //创建字符输出对象
        FileWriter fw=new FileWriter("user.txt");
        //往文件中写入用户名和密码
        fw.write(username);
        fw.write("\r\n");
        fw.write(password);
        fw.flush();
        fw.close();
    }
}
  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值