IO字符流

字符流

  字符流分为字符输出流和字符输入流。只可以对文本文档文件操作

字符输入流Reader

  常用方法:

    1. int read():

      读取一个字符。返回的是读到的那个字符。如果读到流的末尾,返回-1.

    2. int read(char[]):

      将读到的字符存入指定的数组中,返回的是读到的字符个数,也就是往数组里装的元素的个数。如果读到流的末尾,返回-1.

    3. close():

      读取字符其实用的是window系统的功能,就希望使用完毕后,进行资源的释放。

  FileReader类

    在进行对文件读取时所用的类

    例:

 1 // 明确数据源
 2         FileReader fr=new FileReader("D:\demo0723\b.txt");
 3         //读一个字符
 4         int len=0;
 5         while((len=fr.read())!=-1){
 6             System.out.print((char)len);
 7         }
 8         //读一个字符数组
 9         int len =0;
10         char[] ch=new char[1024];
11         while((len=fr.read(ch))!=-1){
12             System.out.println(new String(ch,0,len));
13         }
14         //释放资源
15         fr.close();
16     }

 字符输出流Writer

  所用方法:

    write();

  FileWriter类

    该类没有特有的方法。只有自己的构造函数。

    该类特点在于:

      1.用于处理文本文件。

      2.该类中有默认的编码表,

      3.该类中有临时缓冲。

    例:

 1 //明确目的地
 2         FileWriter fw=new FileWriter("D:\demo0723\r.txt",true);
 3         //写入一个字符
 4         fw.write(100);
 5         fw.flush();  //写一下刷新一下
 6         //写入一个字符数组
 7         char[] ch={'你','好','j','a','v','a'};
 8         fw.flush();
 9         //写入一个字符串
10         fw.write("hellojava",1,6);
11         fw.flush();
12         //释放资源
13         fw.close();   //最后关闭
14     }

    注意:第二行当传入的boolean类型值为true时,会在指定文件末尾处进行数据的续写。默认是false,会覆盖。

  实际应用:文件复制

  

 1 //明确数据源
 2         FileReader fr=new FileReader("D:\demo0723\r.txt");
 3         //明确目的地
 4         FileWriter fw=new FileWriter("D:\demo0723\b\r.txt");
 5         //开始复制(一个字符复制)
 6         int len=0;
 7         while((len=fr.read())!=-1){
 8             fw.write(len);
 9         }
10         //释放资源
11         fr.close();
12         fw.close();
13     }
原文地址:https://www.cnblogs.com/zhai113/p/11720741.html