IO流——(2) 读取文件

一、首先找到Reader类下的子类FileReader():

二、选取构造方法

 

三、有两种方法:

(一)、read( )

(二)、read(char[ ] ch,int offset,int length)

(一)、先看第一种:

 

 

1、编写代码


/**
 * @author James
 * @create 2019-12-31 16:15
 *
 * //需求:读取一个文本文件。将读取到的字符打印到控制台。
 */
public class FileReaderDemo {


    public static void main(String[] args) throws IOException {

        //绑定读取的文件
        FileReader fr = new FileReader("demo.txt");

        //初始化返回值
        int ch = 0;
        // 循环读取
        while ((ch = fr.read()) !=-1){
            System.out.println((char) ch);
        }

    }

2、结果:

 

(二)、第二种 read(char[ ] ch,int offset,int length)

代码示例一:

 public static void main(String[] args) throws IOException {
        /**
         * 使用read(char[]) 读取文本数据
         */

        //创建读取流
        FileReader fr = new FileReader("demo.txt");
        //创建数组
        char[] ch = new char[3];
        //初始化返回值

        int num = fr.read(ch);
        System.out.println(num+":"+new String(ch,0,num));
        int num2 = fr.read(ch);
        System.out.println(num2+":"+new String(ch,0,num2));
        int num3 = fr.read(ch);
        System.out.println(num3+":"+new String(ch,0,num3));

    }

结果:

画图演示:

 

简化后的代码:

 public static void main(String[] args) throws IOException {
        /**
         * 使用read(char[]) 读取文本数据
         */

        //创建读取流
        FileReader fr = new FileReader("demo.txt");
        //创建数组
        char[] ch = new char[3];
        //初始化返回值

        int len=0;

        while ((len=fr.read(ch))!=-1){
            System.out.println(new String(ch,0,len));
        }
}

read() 和read(char[ ] ,int offset, int length)的区别:

read( )是读取单个字符,所以要读很多次。

read(char[ ] ,int offset, int length) 读取一组字符文件。

所以在效率上 read(char[ ] ,int offset, int length)强于read( )。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真香号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值