Java基础知识IO流(文本文件读取方式二)

Reader类的第二种read()方法

read
public int read(char[] cbuf)
throws IOException
将字符读入数组。
参数:
cbuf - 目标缓冲区
返回:
读取的字符数,如果已到达流的末尾,则返回 -1
抛出:
IOException - 如果发生 I/O 错误

注意事项:

  • 定义数组长度时,定义为1024的整数倍,当定义为1024时是2k的大小
  • 当数组的长度小于文件字符的个数时,可以分多次读取,每次读取都存放在同一个字符数组里面,后面读到的字符覆盖之前存放的内容,未覆盖的保留之前的内容。
  • read(char[] buf)返回的是读取字符的个数,若读取为0,返回-1
  • 转换成字符串时,使用new String(bug,0,num)
import java.io.*;
class FileReaderDemo2 
{
    public static void main(String[] args) 
    {
        FileReader fr=null;
        try
        {
            //创建一个文件读取流对象,和指定名称的文件相关联
            //要保证该文件是已经存在的,如果不存在,会发生异常          FileNotFoundException
            fr=new FileReader("ReaderDemo.txt");
            char[] buf=new char[1024];
            int num=0;
            while((num=fr.read(buf))!=-1)
            {
                System.out.println("num:"+num+"     "+new String(buf,0,num));
            }

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                if(fr!=null)
                {
                    fr.close();
                }
            }
            catch (IOException e)
            {
            e.printStackTrace();
            }           
        }

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值