FileReader用法和问答
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用法和问答相关推荐
- 机器人是如何实现对话的?
对话机器人作为近年来愈发普遍的产品,以各种各样的形态出现我们的生活中:电话客服.文本客服.超市里的导购机器人等:那这些机器人如何实现和我们人类的智能对话的呢?本文将用显浅易懂的文字讲述机器人的对话原理 ...
- iOS基础问答面试题连载-附答案
2017-02-02 timhbw CocoaChina 以下是一些自己收集的比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基础不牢,地动山摇.文章末尾会提供PDF版的文档,方便 ...
- java 终极超类,Java问答:终极父类(3),java问答
Java问答:终极父类(3),java问答Java问答:终极父类(上) Java问答:终极父类(下) Java问答:终极父类(2)-上篇 Java问答:终极父类(2)-下篇 在之前关于 Object ...
- 软件工程 敏捷的酒后问答
王屋村移山公司的程序员果冻最近请假参加了一系列敏捷的培训, 有好事者传言他和 "a-girl"勾搭上了, 其他年轻同事有点坐不住了, 也表示要参加此类活动. 几天后, 果冻回到公司 ...
- Storm精华问答 | storm与Hadoop有什么区别?
戳蓝字"CSDN云计算"关注我们哦! 归于Apache社区,Storm被业界称为实时版Hadoop.随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍.而目前已是分 ...
- Spring精华问答 | 什么是Spring inner beans?
Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持.今天就让我们来看看关于Spring的精华问答吧. 1 Q:请解释Spring Be ...
- Storm精华问答 | task与executor有什么关系?
戳蓝字"CSDN云计算"关注我们哦! 归于Apache社区,Storm被业界称为实时版Hadoop.随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍.而目前已是分 ...
- .net面试问答(大汇总)
.net面试问答(大汇总) 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答: 从下至上分别为:数据访问层.业务逻辑层(又或成为领域层).表示层 数据访问 ...
- ashx获取input file 文件_前端战五渣学前端——FileReader预览本地文件
距离上一篇博客将近一个半月了,这一个多月有点烦躁,静不下心来学习,也不知道为什么,玩的也不算太好,还感冒.可能是天气热了吧,有点点躁动.上周看了<哪吒--魔童降世>还不错,还看了新出的&l ...
最新文章
- 【Spring框架家族】SpringBoot基本介绍
- 4.5 偏斜类-机器学习笔记-斯坦福吴恩达教授
- 蓝桥杯_算法训练_矩阵乘法
- ip中继对接_鼎信通达MTG系列-语音中继网关,可和VOS,IPPBX,SIP网关进行对接
- Python的操作符重载
- wifi共享大师电脑版_手机也能给电脑上网!WiFi热点已经out了,蓝牙USB线也能共享网络...
- 记一次程序员在办公室里的“撕逼”经历
- 飞鸽传书谈哈希表之数学原理
- nginx 反向代理 502 错误的解决
- 第一步:Spring访问数据库(jdbcTemplate)
- Sofia-SIP辅助文档三 - 编码指南
- java源码之 io 流源码解读(一)
- 工作人员做好项目协调服务器,项目团队协作做好三件事
- 二叉树遍历方式-先序、中序、后序和层序遍历(JAVA)
- 【java】springboot项目启动数据加载内存中的三种方法
- 5. 统计学基础2:协方差、相关系数、协方差矩阵
- SAP相对其他erp软件的优势
- 【LeGO-LOAM论文阅读(二)--特征提取(二)】
- 简历上敢写自己熟练运用Spring,那这些问题你清楚嘛?
- 防火墙——iptables防火墙