FileReader

这里主要讲的是从纯文本文件中通过调用 read() 方法读取数据

import java.io.*;public class FileReader01 {public static void main(String[] args) throws IOException{FileReader fr = new FileReader("file01.txt");int ch;while((ch=fr.read())!=-1) {System.out.println((char)ch);}fr.close();fr = new FileReader("file01.txt");char[] a = new char[2];int len;while((len=fr.read(a))!=-1) {String str = new String(a,0,len);System.out.println(str);}fr.close();}
}

通过创建一个 FileReader 对象,我们打开了名为 file01 的 txt 文件(文件内容:ABC)

读取数据有两种方式,下面对它们分别进行介绍:

  •  单个字符读取

调用 read() 方法,如果纯文本文件中有内容的话,就会返回 ASCII 码表中对应的数字值,如果 ASCII 表中不存在,就会去查找 Unicode 表。如果纯文本文件没有内容 ,或者前面的内容已经被读取完了,返回的就是 -1,由于我们不知道文本内容有多少。所以我们需要使用一个循环。

  • 多个字符读取

 单个字符读取的效率实在低的可怜,所以我们一口气读多点,存放在一个字符类型的数组里。开始之前,我们先看一张图。

当使用 read() 方法的时候,读取字符数组,由于字符数组的长度是 2,所以一口气读的是两个字符,由于文本内容只有 3 个字符,那么第二次读取的时候,可读取的有效长度就是 1 ,那么存放正在字符数组的第一位就会被覆盖掉,但是第二位没有被覆盖,就会保留,如果我们直接读取字符串,而不指定有效长度的话,就会按字符数组的长度读取,而不是只读 有效长度。

所以我们在创建一个 String 对象的时候,要如此使用。

String str = new String(a,0,len);

a 代表的是字符数组,0,代表起始位置,len 代表读取的长度。

以上就是关于 FileReader 的用法,希望可以帮助到大家。

FileReader用法和问答相关推荐

  1. 机器人是如何实现对话的?

    对话机器人作为近年来愈发普遍的产品,以各种各样的形态出现我们的生活中:电话客服.文本客服.超市里的导购机器人等:那这些机器人如何实现和我们人类的智能对话的呢?本文将用显浅易懂的文字讲述机器人的对话原理 ...

  2. iOS基础问答面试题连载-附答案

    2017-02-02 timhbw CocoaChina 以下是一些自己收集的比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基础不牢,地动山摇.文章末尾会提供PDF版的文档,方便 ...

  3. java 终极超类,Java问答:终极父类(3),java问答

    Java问答:终极父类(3),java问答Java问答:终极父类(上) Java问答:终极父类(下) Java问答:终极父类(2)-上篇 Java问答:终极父类(2)-下篇 在之前关于 Object ...

  4. 软件工程 敏捷的酒后问答

    王屋村移山公司的程序员果冻最近请假参加了一系列敏捷的培训, 有好事者传言他和 "a-girl"勾搭上了, 其他年轻同事有点坐不住了, 也表示要参加此类活动. 几天后, 果冻回到公司 ...

  5. Storm精华问答 | storm与Hadoop有什么区别?

    戳蓝字"CSDN云计算"关注我们哦! 归于Apache社区,Storm被业界称为实时版Hadoop.随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍.而目前已是分 ...

  6. Spring精华问答 | 什么是Spring inner beans?

    Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们来看看关于Spring的精华问答吧. 1 Q:请解释Spring Be ...

  7. Storm精华问答 | task与executor有什么关系?

    戳蓝字"CSDN云计算"关注我们哦! 归于Apache社区,Storm被业界称为实时版Hadoop.随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍.而目前已是分 ...

  8. .net面试问答(大汇总)

    .net面试问答(大汇总) 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答: 从下至上分别为:数据访问层.业务逻辑层(又或成为领域层).表示层 数据访问 ...

  9. ashx获取input file 文件_前端战五渣学前端——FileReader预览本地文件

    距离上一篇博客将近一个半月了,这一个多月有点烦躁,静不下心来学习,也不知道为什么,玩的也不算太好,还感冒.可能是天气热了吧,有点点躁动.上周看了<哪吒--魔童降世>还不错,还看了新出的&l ...

最新文章

  1. 【Spring框架家族】SpringBoot基本介绍
  2. 4.5 偏斜类-机器学习笔记-斯坦福吴恩达教授
  3. 蓝桥杯_算法训练_矩阵乘法
  4. ip中继对接_鼎信通达MTG系列-语音中继网关,可和VOS,IPPBX,SIP网关进行对接
  5. Python的操作符重载
  6. wifi共享大师电脑版_手机也能给电脑上网!WiFi热点已经out了,蓝牙USB线也能共享网络...
  7. 记一次程序员在办公室里的“撕逼”经历
  8. 飞鸽传书谈哈希表之数学原理
  9. nginx 反向代理 502 错误的解决
  10. 第一步:Spring访问数据库(jdbcTemplate)
  11. Sofia-SIP辅助文档三 - 编码指南
  12. java源码之 io 流源码解读(一)
  13. 工作人员做好项目协调服务器,项目团队协作做好三件事
  14. 二叉树遍历方式-先序、中序、后序和层序遍历(JAVA)
  15. 【java】springboot项目启动数据加载内存中的三种方法
  16. 5. 统计学基础2:协方差、相关系数、协方差矩阵
  17. SAP相对其他erp软件的优势
  18. 【LeGO-LOAM论文阅读(二)--特征提取(二)】
  19. 简历上敢写自己熟练运用Spring,那这些问题你清楚嘛?
  20. 防火墙——iptables防火墙

热门文章

  1. JS 华而不实的码子
  2. 三种典型启发式算法(禁忌搜索,模拟退火,遗传算法)
  3. 抵在心口的痛主角秦雪严朗by游泳的猫咪大结局免费在线阅读
  4. Java中PropertyDescriptor使用以及问题总结
  5. 手机输入法遮挡输入框解决方法
  6. 《童梦奇缘-梦幻般的羁绊》第三章-囹圄
  7. 全球大型高危险性统一考试,简称全球高考。真身刷题,及格活命。考制一月一改革,偶尔随机。
  8. java编程实现素数环_回溯法解决素数环
  9. android项目文件夹简介
  10. 用jQuery实现下拉菜单效果