首页 > 基础教程 > IO流 > Reader类
Java Reader类
Reader是一个抽象类,它是以字符为单位的输入流的公共父类。
构造函数
protected Reader() //创建一个新的字符流 reader,其重要部分将同步其自身的 reader。
protected Reader(Object lock) //创建一个新的字符流 reader,其重要部分将同步给定的对象。
方法
abstract void close() //关闭该流并释放与之关联的所有资源。
void mark(int readAheadLimit) //标记流中的当前位置。
boolean markSupported() //判断此流是否支持 mark() 操作。
int read() //读取单个字符。
int read(char[] cbuf) //将字符读入数组。
abstract int read(char[] cbuf, int off, int len) //将字符读入数组的某一部分。
int read(CharBuffer target) //试图将字符读入指定的字符缓冲区。
boolean ready() //判断是否准备读取此流。
void reset() //重置该流。
long skip(long n) //跳过字符。
Reader类图
BufferedReader从流里面读取文本,通过缓存的方式提高效率,读取的内容包括字符、数组和行。缓存的大小可以指定,也可以用默认的大小,大部分情况下,默认大小就够了。
InputStreamReader把字节翻译成字符的,可以处理乱码问题。
FileReader方便读取字符文件的。
例子
使用read()读取单个字符并输出
import java.io.*;
class FileReaderDemo
{
public static void sop(Object obj)
{
System.out.print(obj);
}
public static void main(String[] args)throws IOException
{
//创建一个文件读取流对象,和指定名称的文件相关联起来。
//要保证该文件是已经存在的。如果不存在,会发生异常,即FileNotFoundException
FileReader fr = new FileReader("F:\\myfile\\test.txt");
//调用读取流对象的read方法。
//read方法:一次读取一次字符,而且会自动往后面读取字符。
int ch = 0;
while((ch=fr.read())!=-1)
{
sop((char)ch);
}
/*
while(true)
{
int ch = fr.read();
if(ch==-1)
break;
sop((char)ch); //读取文件中的一个字符
}
*/
fr.close();
}
}
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/103306.html