java io类filereader,39. Java IO: FileReader
想要查看此教程的目录请点击: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相关推荐
- java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO
Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...
- java path类_基于java Files类和Paths类的用法(详解)
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...
- java常用类的方法,java常用类的使用方法
java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...
- java测试类生成对象,java编写student类 用Java编写一段测试程序,生成student类的两个对象,并输出每个对象基本信息?...
java中怎么创建对象数组?比如我创建了一个学生类Student,怎么用这个类创建一个对象数组,麻烦给个例子? 学生类:classA{privateStringnameprivateintagepub ...
- java引用公共类_使用键引用从Java公共类获取值 - java
我们有一个Java公共类, public class Test { public class ob1 { public static final String test = "T1T1&qu ...
- java常用类解析五:IO系统File类及文件搜索工具类
1.先看一个File类的简单的例子 [java] view plaincopy <span style="font-size:16px;">package test; ...
- java final 类_在Java中,final修饰的类有什么特点
展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...
- java group类_浅析Java中线程组(ThreadGroup类)
Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的 ...
- Java语言类的作用,java 语言Class类的作用,怎么使用?
1,Class类有什么用? Class类的实例表示java应用运行时的类(Class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现 ...
最新文章
- 数据结构和算法:(3)3.2.1单链表的整表创建
- 读书笔记-内存初始化和清理
- 出参传递数组指针_C语言指针重难点详解
- 【Qt】数据库实战之QSqlQueryModel
- java tomcat jndi,Tomcat JNDI 资源
- java动态拼接请求_在JavaWeb项目中处理静态文件或动态链接拼接网站地址的最优处理方案...
- 搜狐被SEC列入“预摘牌名单”!回应:不打算提出异议
- 情侣签到365天获1000现金?这款App被关停下架了 网友拍手称快!
- python vector_[流畅的Python]读书笔记之十三运算符重载
- opencv获取人脸眼镜位置_用opencv检测人眼并定位瞳孔位置
- win10 SecoClient连接“提示用户与对方建立连接超时,配置错误或网络故障”
- 泰坦尼克号生存率预测
- FYI | Brain-Art Competition 2018 开始投稿了
- C/C++ 二维数组传参方法总结
- 软件测试时如何检测内存,如何进行内存检测?内存检测的功能使用方法介绍
- widows快捷键大全
- 第十二章:email-mailbox:管理email归档-imaplib:IMAP4客户库-连接服务器(认证失败)
- 详细的网络安全基础,一篇文章统统告诉你
- 前端-基础篇-HTML-HTML基本结构
- 荣耀V40怎么样 “微光女神”告诉你