Reader的子类选用
来源:互联网 发布:手机淘宝自动登录 编辑:程序博客网 时间:2024/05/21 17:35
今天需要从文本文件里读出内容,从一刚开始就独立编写,结果是这个样子。
private static String getText0() { File txt = new File("src/regex/Test"); InputStream is; StringBuffer sb = new StringBuffer(); Reader reader = null; try { is = new FileInputStream(txt);//输入流 reader = new InputStreamReader(is, "UTF-8");//以utf-8读取输入流 char[] charBuffer = new char[30];//数组存储一个个字节 int c;//在while循环判断时,会消耗一个字节,用这个暂存。 while((c= reader.read())!=-1) {//这个地方会消耗一个字节 reader.read(charBuffer);//暂存到字节数组 sb.append((char)c).append(charBuffer); c=0;//清除数据,防止判断时出问题 charBuffer = new char[30];//清除数据,防止判断时出问题 } reader.close(); is.close(); System.out.println(sb); } catch (Exception e) { e.printStackTrace(); } return sb.toString(); }
看以上代码,有点拖沓,在网上看到了FileReader,然后用了一把。
private static String getText1() { File file = new File("src/regex/Test"); try { //FileReader fr = new FileReader(file);//准备资源,其实代码可以不用下面的BufferedReader,但是,FileReader没什么好用的读取方法,只能像上面的那个方法读取。 //上面的代码修正为以下内容,原因是FileReader总是默认用当前平台的编码方式读取,而且不能改 InputStreamReader isr = new InputStreamReader(file,"UTF-8"); BufferedReader br = new BufferedReader(isr);//而有这个,可以一行一行的读,比较方便 //总感觉读取文件要new这么大一堆有点怪怪的 String line = ""; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) {//同样的,用于判断的那一行,如果不存储就会丢失 sb.append(line); } br.close(); fr.close(); System.out.println(sb); } catch ( Exception e) { e.printStackTrace(); } return null; }
这就是我的一点笔记
阅读全文
1 0
- Reader的子类选用
- Android笔记之pagerAdapter两个子类的区别和选用
- JAVA之IO技术Reader类的子类FileReader的使用
- 传感器的选用
- 加工中心的选用
- 可转位刀具的选用
- 可转位车孔刀的选用要点
- 各种容器的选用
- 日期字段的选用
- 数据结构的选用之一
- 外语教材的选用
- 容器的选用
- 选用合适的win7
- 晶体管的选用经验
- 外贸企业财务软件的选用
- 顺序文件的选用
- 磁珠的选用
- 磁珠(FB)的选用
- 如何在一个可变参数函数中调用另一个可变参数函数
- Mybatis+Mysql批量插入返回自增主键
- 面试-SDWebImage原理
- Arrange the Bulls POJ
- PHP开发网站之微信登录、绑定
- Reader的子类选用
- 我的python3.6 安装教程
- Verilog十大基本功1(流水线设计Pipeline Design)
- HDU
- windows系统下的进程监测程序--实现过程记录
- Android Service学习笔记--声明Service
- iOS开发之基础面试题
- The Secret
- 海思编码中添加加密函数