频道栏目
首页 > 资讯 > 其他 > 正文

字符流 Reader解析

18-07-21        来源:[db:作者]  
收藏   我要投稿
/ 在java中Reader是字符输入流,可以将文件中的数据读取到java程序中。
//Reader是字符输入流的顶层父类,是一个抽象类。 如果要用,需要使用子类。
//最常用的子类叫做FileReader。
//字符输入流可以以字符为单位进行读取,这样就可以读取中文了。
//
//FileReader的构造方法:
//FileReader?(File file): 传递一个File类型的文件
//FileReader?(String fileName): 传递一个String类型的文件路径
//
//FileReader里面的其他方法:
//int read?(): 一次读取一个字符。返回值为读取到字符。如果读取结束返回-1
//int read?(char[] cbuf):一次读取一个字符数组。
//
//读取的步骤:
//1. 创建一个FileReader对象,绑定一个目的地
//2. 调用read方法进行读取。
//3.  释放资源
public class Demo01Reader {
 public static void main(String[] args) throws IOException {
  //创建字符流FILEREADer对象,绑定目标文件
  FileReader fr = new FileReader("E:\\masm5\\ccc.txt");
  //开始读取,一次读取一个字符数组
  int i;
  while ((i = fr.read()) != -1) {
//条件做的事情
//1. 使用字符输入流读取一个字符
//2. 把读取到的字符赋值给变量i
//3. 判断i是否不等于-1,如果不是-1表示读取到了数据,那么就在循环中处理
System.out.print((char) i);

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

}
//读取字符数组
public class Dem02Reader {
 public static void main(String[] args) throws IOException {
  //创建一个字符输入流对象
  //创建一个字符输入流对象
  FileReader fr = new FileReader("E:\\masm5\\ccc.txt");

  //开始读取,一次读取一个字符数组。
  char[] cArr = new char[1024];//定义的字符数组,用来保存每次读取到的数据
  int len; //定义变量,用来保存每次读取到的长度

  //开始while循环读取
  while ((len = fr.read(cArr)) != -1) {
/*
 循环条件做的事情
 1. 通过字符输入流调用read方法,将数据读取到cArr这个字符数组中
 2. 将读取到的个数返回,并且赋值给变量len
 3. 判断len是否不等于-1,如果不是-1表示读取到了内容,就在循环中进行处理。
 */
System.out.print(new String(cArr, 0, len));
  }

  //释放资源
  fr.close();
 }
}
相关TAG标签
上一篇:使用java8中的Optional API解决nullPointException问题
下一篇:Android开发之ListView功能扩展,实现高性能的瀑布流布局讲解
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站