字符流是什么

  • 字符流是可以直接读写字符的IO流
  • 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出.

    FileReader

  • FileReader类的read()方法可以按照字符大小读取

    1. 床前明月光,疑是地上霜。

    读取1个字符

      /**
       * 读取1个字符
       * @throws IOException
       */
      @Test
      public void demo1() throws IOException {
          FileReader fr = new FileReader("chinese2.txt");
          int x = fr.read();
          System.out.println(x); //24202
          char c = (char)x;
          System.out.println(c); //床
          fr.close();
      }
    

    读取文件中所有字符

      /**
       * 读取文件中所有字符
       * @throws IOException
       */
      @Test
      public void demo2() throws IOException {
    
          FileReader fr = new FileReader("chinese2.txt");
          int c;
    
          while((c = fr.read()) != -1) {    //通过项目默认的码表一次读取一个字符
              System.out.print((char)c);
          }
    
          fr.close();
      }
    
    床前明月光,疑是地上霜。