java 字符流读取实例_Reader(字符流读取)

Reader(字符流读取)

java.io.Reader 是一个抽象类, 只能用来操作文本文件

Reader常用实现类的继承关系

java.lang.Object

java.io.Reader

java.io.InputStreamReader

java.io.FileReader

java.io.BufferedReader

常用子类就是FileReader和 BufferedReader

Reader共性方法(子类通用)

返回值

方法

说明

abstract void

close()

关闭并释放流

int

read()

读取单个字符

int

read(char[] cbuf)

将字符读入数组。

abstract int

read(char[] cbuf, int off, int len)

将字符读入数组的某一部分。

int

read(CharBuffer target)

试图将字符读入指定的字符缓冲区。

FileReader子类

用于读取字符流。读取字符文件的便捷类。

构造方法

方法

说明

FileReader(File file)

传入一个File对象

FileReader(String filePath)

传入一个文件路径字符串

使用实例:

try {

// 1. 创建对象

String path = "D:\\DEV\\eclipse\\workspace\\day13\\testIO.txt";

Reader in = new FileReader(path);

// 第二种创建方式

// Reader in = new FileReader(new File(path));

// 2. 开始读取

int b = 0;

while ((b = in.read()) != -1) {

System.out.println(b);

}

// 3. 释放

in.close();

} catch (IOException e) {

e.printStackTrace();

}

BufferedReader子类

从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。

构造方法

方法

说明

BufferedReader(Reader in)

一般传入一个FileReader对象

特有方法

返回值

方法

说明

String

readLine()

读取一行

使用实例:

FileInputStream fis = new FileInputStream("src/day08/BRDemo.java");

InputStreamReader isr = new InputStreamReader(fis);

BufferedReader br = new BufferedReader(isr);

/*

* BufferedReader提供了按行读取方法:

* String readLine()

* 连续读取若干字符,直到读取到换行符为止

* 并将换行符之间读取到的字符以一个字符串返回

* 若返回值为NULL,则表示读取到末尾。

* 注意:该字符串不包含最后的换行符。

*

*/

String line = null;

while((line = br.readLine())!=null){

System.out.println(line); // 一行一行读

}

br.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值