想要查看此教程的目录请点击:Java IO教程目录贴地址

FileReader类(java.io.FileReader),可以基于字符流来读取文件内容。它的工作机制类似于FileInputStream,但是FileInputStream是读取字节。换句话来说,FileReader的意图是读取文本。一个字符可能对于一个或多个字节,这取决于字符的编码格式。

FileReader例子

下面是Java FileReader的简单例子:

Reader fileReader = new FileReader("c:\\data\\input-text.txt");

int data = fileReader.read();

while(data != -1) {

//do something with data...

doSomethingWithData(data);

data = fileReader.read();

}

fileReader.close();

例子首先创建了一个FileReader,并且在构造方法传入了一个文件路径。然后,从FileReader每次读取一个字符并读取了所有的内容,最后,将FileReader关闭。

注意:上面例子省略了必要的异常处理,更多的关于异常处理的内容,可以参考“Java IO Exception Handling”。

read()

FileReader的read()方法返回了一个int值,此值为读取的字符值。如果方法返回 -1,则代表数据已经读取完毕。

FileReader字符编码

FileReader假设你想以计算机的默认编码格式来解码文件中的字节。这并不一定是你想要的,你也改不不了这个。

如果你想指定一个不同的编码格式,就不要用FileReader了。可以在FileInputStream上使用InputStreamReader。InputStreamReader可以让你指定编码格式去读取文件的字节。

关闭FileReader

当你从FileReader读取完字符之后你要记得去关闭它。关闭FileReader可以调用close()方法。可以像下面这样来使用:

fileReader.close();

你也可以使用java 7中的 try-with-resources 结构。下面是如何使用try-with-resources来关闭流:

try(FileReader fileReader =

new FileReader("c:\\data\\text.txt")){

int data = fileReader.read();

while(data != -) {

System.out.print((char) data));

data = fileReader.read();

}

}

注意上面例子并没有调用close()方法。try-with-resources 结构会考虑这个的。

java io类filereader,39. Java IO: FileReader相关推荐

  1. java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO

    Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...

  2. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  3. java常用类的方法,java常用类的使用方法

    java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...

  4. java测试类生成对象,java编写student类 用Java编写一段测试程序,生成student类的两个对象,并输出每个对象基本信息?...

    java中怎么创建对象数组?比如我创建了一个学生类Student,怎么用这个类创建一个对象数组,麻烦给个例子? 学生类:classA{privateStringnameprivateintagepub ...

  5. java引用公共类_使用键引用从Java公共类获取值 - java

    我们有一个Java公共类, public class Test { public class ob1 { public static final String test = "T1T1&qu ...

  6. java常用类解析五:IO系统File类及文件搜索工具类

    1.先看一个File类的简单的例子 [java] view plaincopy <span style="font-size:16px;">package test; ...

  7. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  8. java group类_浅析Java中线程组(ThreadGroup类)

    Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的 ...

  9. Java语言类的作用,java 语言Class类的作用,怎么使用?

    1,Class类有什么用? Class类的实例表示java应用运行时的类(Class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现 ...

最新文章

  1. 数据结构和算法:(3)3.2.1单链表的整表创建
  2. 读书笔记-内存初始化和清理
  3. 出参传递数组指针_C语言指针重难点详解
  4. 【Qt】数据库实战之QSqlQueryModel
  5. java tomcat jndi,Tomcat JNDI 资源
  6. java动态拼接请求_在JavaWeb项目中处理静态文件或动态链接拼接网站地址的最优处理方案...
  7. 搜狐被SEC列入“预摘牌名单”!回应:不打算提出异议
  8. 情侣签到365天获1000现金?这款App被关停下架了 网友拍手称快!
  9. python vector_[流畅的Python]读书笔记之十三运算符重载
  10. opencv获取人脸眼镜位置_用opencv检测人眼并定位瞳孔位置
  11. win10 SecoClient连接“提示用户与对方建立连接超时,配置错误或网络故障”
  12. 泰坦尼克号生存率预测
  13. FYI | Brain-Art Competition 2018 开始投稿了
  14. C/C++ 二维数组传参方法总结
  15. 软件测试时如何检测内存,如何进行内存检测?内存检测的功能使用方法介绍
  16. widows快捷键大全
  17. 第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-连接服务器(认证失败)
  18. 详细的网络安全基础,一篇文章统统告诉你
  19. 前端-基础篇-HTML-HTML基本结构
  20. 荣耀V40怎么样 “微光女神”告诉你

热门文章

  1. mysql指定某行或者某列的排序
  2. freemaker转word xml注意事项
  3. JavaScript效果之选项卡
  4. (转载)C#提取汉字拼音首字母的方法
  5. 8051单片机的中断发送
  6. Netbeans 安装和配置 C/C++ 支持
  7. 开发人员需要了解的测试
  8. SQLite多线程写锁文件解决方案
  9. 剑指Offer——和为s的两个数字
  10. Tornado入门之旅