FileInpuStream、BufferedReader、InputStreamReader

本文深入探讨了Java中字节输入流与字符流的使用方法,包括逐字符读取、一次读取多个字符及如何处理未知字节长度的情况。通过实例演示了不同读取方式的效果,如读取特定编码的文件,并解析了BufferedReader的readLine()方法用于读取一行字符串的技巧。

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

在这里插入图片描述

        int len = 0;
        while ((len = fis.read()) != -1){
            fis.read();
        }

逐一将文档中的字符转化为字节输出
每识别一个字节光标往下移动一位
识别到最后一位时输出-1
.

文件夹内容
abc
输出结果:

979899

.
.
字节输入流一次读取多个字符

        byte[] bytes = new byte[2];设置每次读取的长度
        int len = fis.read(bytes);读取的有效个数

        System.out.println(len); 2
        System.out.println(new String(bytes)); AB

        int len1 = fis.read(bytes);
        System.out.println(len1);   2
        System.out.println(new String(bytes));  CD

        int len2 = fis.read(bytes);
        System.out.println(len2);   2
        System.out.println(new String(bytes));  EF

        int len3 = fis.read(bytes);
        System.out.println(len3);   -1
        System.out.println(new String(bytes));  EF

        int len4 = fis.read(bytes);
        System.out.println(len4);   -1
        System.out.println(new String(bytes));  EF

.
当不知道文件中有多少个字节时

在这里插入图片描述

new String(bytes,0,len)

截取有效部分输出,以防浪费内存
.
.

BufferedReader

readLine()读取一行字符串
在这里插入图片描述
.
.

InputStreamReader读取文件中的字符

InputStreamReader isr = new InputStreamReader(new FileInputStream("IO\\a.txt"),"Gbk");

     int len = 0;
     while((len = isr.read()) != -1){
         System.out.println((char)len);
     }
     isr.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值