字符流

作者: 只取一瓢爱了解 | 来源:发表于2020-07-01 21:33 被阅读0次

字符输入流【Reader】

FileReader类

读取字符数据
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //创建FileReader对象,绑定要读取的数据源
        FileReader reader = new FileReader("/Users/wym/a.txt");
        //使用read读取文件
        /*int len;
        while((len = reader.read()) != -1){
            System.out.println((char)len);
        }*/

        int len;
        char[] chars = new char[1024];
        while((len = reader.read(chars)) != -1){
            System.out.println(new String(chars,0,len));
        }
        //释放资源
        reader.close();
    }
}

字符输出流【Writer】

FileWriter类

输出数据(单个输出)
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //创建FileWriter对象,绑定要写入数据的目的地
        FileWriter writer = new FileWriter("/Users/wym/c.txt");
        //使用write写入
        writer.write(97);
        //使用flush方法,将内存缓冲区中的数据,刷新到文件
        //writer.flush();
        //释放资源(回先把缓冲区中的数据刷新到文件)
        writer.close();
    }
}
关闭和刷新

因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中。但是关闭的流对象,是无法继续写出数据的。如果我们既想写出数据,又想继续使用流,就需要flush方法了

  • flush :刷新缓冲区,流对象可以继续使用
  • close :先刷新缓冲区,然后通知系统释放资源。流对象不可以继续使用
写数据的其他方式
public class Demo1 {
    public static void main(String[] args) throws IOException {
        //创建FileWriter对象,绑定要写入数据的目的地
        FileWriter writer = new FileWriter("/Users/wym/d.txt");
        char[] chars = {'a','b','c','d','e'};
        writer.write(chars);
        writer.write(chars,1,3);
        writer.write("曼彻斯特城");
        //释放资源(回先把缓冲区中的数据刷新到文件)
        writer.close();
    }
}
续写和换行
public class Demo3 {
    public static void main(String[] args) throws IOException {
          //创建FileWriter对象,绑定要写入数据的目的地
          FileWriter writer = new FileWriter("/Users/wym/e.txt",true);
          //写出字符串
            writer.write("曼城");
            //写出换行
                    writer.write("\r");
            //写出字符串
            writer.write("德布劳内");
          //释放资源(回先把缓冲区中的数据刷新到文件)
          writer.close();
      }
}

小贴士 :字符流,只能操作文本文件,不能操作图片,视频等非文本文件。

当我们单纯读或者写文本文件时,使用字符流,其他情况使用字节流

相关文章

  • Java基础笔记21

    21.01_IO流(字符流FileReader) 1.字符流是什么字符流是可以直接读写字符的IO流字符流读取字符,...

  • Java IO流之字符流

    ①IO流(字符流FileReader) 1.字符流是什么字符流是可以直接读写字符的IO流字符流读取字符, 就要先读...

  • IO(字符流)&字符流其他内容&递归

    day21(IO(字符流)&字符流其他内容&递归) 1_IO流(字符流FileReader) 1.字符流是什么字符...

  • day21-Java IO流(字符流/装饰设计模式)

    21.01_字符流FileReader 1.字符流是什么字符流是可以直接读写字符的IO流字符流读取字符, 就要先读...

  • Topic21(字符流)

    21.01 字符流FileReader 字符流是什么字符流是可以直接读写字符的IO流字符流读取字符,就要先读取到字...

  • I/O的学习之字符流

    I/O的学习之字符流 今天的学习内容 字符流FileReader 字符流FileWriter 字符流的拷贝 带缓冲...

  • 2020-06-30【字符流】

    字节缓冲流 字符流 编码表 字符流写数据的5中方式 字符流读取数据的2种方式 练习 字符缓冲流 IO流小结

  • Java基础笔记总结(14)-IO流(2)字符流 FileRea

    字符流是什么 字符流是可以读写字符的IO流 字符流读取字符,先要读取字节数据,然后转换为字符,需要把字符转换为字节...

  • IO Stream - 字符流

    字符流 字符流出现的原因1.字符流介绍:由于字节流操作中文不是特别方便,所以Java提供了字符流字符流 = 字节流...

  • Java学习Day17

    今日学习内容总结 字符流的输入及输出 Properties IO流 字符流 字符输入流【Reader】 java....

网友评论

      本文标题:字符流

      本文链接:https://www.haomeiwen.com/subject/bsqkqktx.html