【字节流】读数据(一次读一个字节数据)

该文展示了如何使用Java的FileInputStream类读取文件内容。通过创建字节输入流对象,调用read()方法读取单个字节,以及循环读取直到文件结束。文章提供了两种方法,一种是逐行读取并打印,另一种是优化后的连续读取并打印,直到文件末尾。
摘要由CSDN通过智能技术生成

字节流读数据(一次读一个字节数据)

需求:把文件fos.txt中的内容读取出来在控制台输出

FileInputStream:从文件系统中的文件获取输入字节

  • FileInputStream(String name):通过打开与实际文件的连接来创建一个FileInputStream,该文件由文件系统中的路径名name命名

  • 使用字节输入流读数据的步骤:

    ①创建字节输入流对象

    ②调用字节输入流对象的读数据方法

    ③释放资源

方法一:
package com.bytestream;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo01 {
    public static void main(String[] args) throws IOException {
        //创建字节输入流对象
        FileInputStream fis = new FileInputStream("基础语法\\fos.txt");
        //调用字节输入流对象的读数据方法
        //int read():从该输入流读取一个字节的数据
       //第一次读取数据
        int by = fis.read();
        System.out.println(by);
        System.out.println((char)by);
        //第二次读取数据
         by = fis.read();
        System.out.println(by);
        System.out.println((char)by);
        //释放资源
        fis.close();
    }
}
方法二:使用循环改进读数据
package com.bytestream;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo01 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("基础语法\\fos.txt");
        //循环改进
        int by = fis.read();
        while (by!=-1){
            System.out.print((char)by);
            by = fis.read();
        }
        //释放资源
        fis.close();
    }
}

优化读数据部分

package com.bytestream;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo01 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("基础语法\\fos.txt");
        int by;
        while ((by=fis.read())!=-1){
            System.out.print((char)by);
        }
        //释放资源
        fis.close();
    }
}

fis.read():读数据

by=fis.read():把读取到的数据赋值给by

by!=-1:判断读取到的数据是否是-1(将文件中的数据已经读完如果继续进行读操作,by=-1)

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值