InputStreamReader和FileReader的区别

本文介绍了Java中使用BufferedReader和InputStreamReader进行文件读取的方法。详细解释了如何将字节流转换为字符流,并通过实例展示了如何逐行读取文件内容。此外,还对比了InputStreamReader与FileReader的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
    BufferedReader

    InputStreamReader 转换流
*/
import java.io.*;

public class BufferedReaderTest02
{
    public static void main(String[] args) throws Exception{
        
        /*
        //创建带有缓冲区的字符输入流
        FileInputStream fis = new FileInputStream("BufferedReaderTest02.java"); //文件字节输入流
        
        //转换流(将字节流转换成字符流)
        InputStreamReader isr = new InputStreamReader(fis); //isr是字符流

        BufferedReader br = new BufferedReader(isr);
        */

        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("BufferedReaderTest02.java")));

        //开始读
        String temp = null;
        while((temp=br.readLine())!=null){
            System.out.println(temp);
        }

        //关闭,关闭最外层的流即可. (装饰者模式)
        br.close();
    }
}

 

 InputStreamReader和FileReader的区别:

 InputStreamReader是输入字节到字符的转换流,所以其构造方法的参数必须是InputStream类型的,并且可以在构造方法中重新指定编码的方式; InputStreamReader是FileReader的父类;

FileReader是便捷类,构造器的参数可以是文件的路径字符串,也可以是File类;不需要new 一个 InputStream作为参数。

FileReader:

 

InputStreamReader:

 

 

 

转载于:https://www.cnblogs.com/Allen-win/p/7384228.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值