首页 > 其他分享 >io流-字符流和字节输入流(Reader)

io流-字符流和字节输入流(Reader)

时间:2022-10-17 11:03:01浏览次数:66  
标签:字符 fr 读取 read FileReader String io Reader 字节

字符流

当使用字节流读取文本文件时 会出现一些小问题 就是当我们遇到中文字符时 可能不会显示完成的字符 那时以为一个中文字符可能占用多个字节存储 所以java提供一些字符流类 以字符为单位读写数据 专门用于处理文本文件

字节输入流(Reader)

Reader抽象类是表示用于读取字符流的所有类的超类 可以读取字符信息到内存中 它是隶属于java.io包下

共性功能方法

public void close():关闭此流并释放与此流相关联的任何系统资源
public int read():从输入读取一个字符
public int read(Char[] cbuf):从输入流中读取一些字符 并将它们存储到字符数组cbuf中

子类FileReader

FileReader

FileReader:文件字符输入流

作用:把硬盘文件中的数据以字符的方式读取到内存中

构造方法

FileReader(String fileName)
FileReader(File file)

参数

String fileName 文件的路径

File file一个文件

FileReader构造方法的作用:

1.创建一个FileReader对象

2.会把FileReader对象指向要读取的文件

字符输入流的使用步骤:

1.创建FileReader对象 构造方法中绑定要读取的数据源

2.使用FileReader对象中的方法read读取文件

3.释放资源

案例:读取E盘下的file文件夹内的b.txt的字符

 有中文、英文和数组

读取一个字符代码:

复制代码
public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("E:\\file\\b.txt");

        int read = fr.read();
        System.out.println((char)read);

        fr.close();
    }
复制代码

运行结果:

 读取全部字符的代码:

复制代码
 public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("E:\\file\\b.txt");

        int len=0;
        while ((len=fr.read())!=-1){
            System.out.println((char)len);
        }

        fr.close();
    }
复制代码

运行结果

 使用char数组读取字符代码:

复制代码
  public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("E:\\file\\b.txt");
        char[] chars=new char[1024];
        int len=0;
        while ((len=fr.read(chars))!=-1){
            /*
            String类的构造方法
            String(char[] value)把字符数组转换为字符串
            String(char[] value,int offset,int count)把字符数组的一部分转换为字符串 offset数组的开始索引 count转换的个数
             */
            System.out.println(new String(chars,0,len));
        }

        fr.close();
    }
复制代码

运行结果:

标签:字符,fr,读取,read,FileReader,String,io,Reader,字节
From: https://www.cnblogs.com/shenziyi/p/16798424.html

相关文章

  • io流-字符输出流写数据的其他方法和续写、换行
    1.写出字符数组:write(char[]cbuf)每次可以写出字符数组中的数据代码:publicstaticvoidmain(String[]args)throwsIOException{FileWriterfw=new......
  • io流-异常处理
    在JDK1.7之前使用trycatchfinally处理流中的异常格式:try{可能会产生异常的代码}catch(异常类变量变量名){异常的处理逻辑}finally{一定会指定的代码资源释......
  • RT-Thread Studio使用体验
    RT-ThreadStudio是RT-Thread提供的一款IDE,RT-Thread是一个比较成功的国产RTOS,今天就来体验一下它的IDE使用效果怎么样。1.软件安装首先从官网下载安装文件。官网下载地址:ht......
  • io流-字节输出流写多个字节的方法
    字节输出流写多个字节的方法publicvoidwrite(byte[]b):将b.length字节从指定的字节数组写入此输出流一次写入多个字节:如果写的第一个字节是正数(0-127)那么显示的时......
  • io流-字节输出流
    OutputStream抽象类是表示字节输出流的所有类的超类将指定的字节信息写出到目的地它定义了字节输出流的基本共性功能方法OutputStream是隶属于java.io包下常用方法p......
  • io流-数据追加续写
    数据追加续写经过以上的演示每次程序运行创建输出流对象都会清空目标文件中的数据如果保留目标文件中数据还能继续添加新的数据构造方法publicFileOutputStrea......
  • io流-字节输出流和FileIntputStream介绍、代码演示
    字节输出流InputStream抽象类是表示字节输出流的所有类的超类可以读取字节信息到内存中它定义了自己输入流的基本共性功能方法InputStream是隶属于java.io包下publ......
  • io流字节输入流一次读取多个字节
    字节输入流一次读取多个字节字节输入流一次读取多个字节的方法:intread(byte[]b)从输入流中读取一定数量的字节并将其存储在缓冲区数字b中明确两件事情:1.方法的参......
  • Uni开发的app,使用Windows S10,放在ios上,全程跟着一个马平川。
    一、发布前的准备1.计算机的windows10环境2.下载appuploader.exe工具,它可以在windows(http://www.appuploader.net/appuploader/download.php)上生成证书和描述......
  • 【go】 golang 的文件写入和读取(Write()、WriteString(),bufio包:WriteString()、flush(
    1.os包1.1Write()/WriteString()方法语法打开文件funcOpenFile(namestring,flagint,permFileMode)(*File,error)写入func(f*File)WriteString(sstr......