文件字节输入流的基本使用

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/*
    文件字节输入流,每次读取一个字节
 */
public class FileInputStreamTest01 {
    public static void main(String[] args) throws IOException {
        // 1. 创建文件字节输入流管道,与源文件接通
        InputStream is = new FileInputStream("day01\\src\\file\\file02.txt");

        // 2. 开始读文件
        // public int read(): 每次读取一个字节返回,如果没有数据,则返回-1
//        int b1 = is.read();
//        System.out.println((char) b1);
//
//        int b2 = is.read();
//        System.out.println((char) b2);
//
//        int b3 = is.read();
//        System.out.println(b3);

        // 3. 使用循环读取文件
        int b;
        while ((b = is.read()) != -1){
            System.out.print((char) b);
        }
    }
}

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

/*
      文件字节输入流,每次读取多个字节
 */
public class FileInputStreamTest02 {
    public static void main(String[] args) throws IOException {
        // 1. 创建文件字节输入流管道,与源文件接通
        InputStream is = new FileInputStream("day01\\src\\file\\file02.txt");

//        // 2. 开始读取文件中的字节数据,每次读取多个字节
//        // public int read(byte[] buffer) 一次读取多个字节
//        byte[] buffer = new byte[3];
//        int len = is.read(buffer);
//        String rs = new String(buffer);
//        System.out.println(rs); //abc
//        System.out.println("当前读取的字节数量为" + len); //3
//
//        // 注意: 读取多少字符,倒出多少字符 (文件中的数据为abc66)
//        int len2 = is.read(buffer);
//        String rs2 = new String(buffer);
//        System.out.println(rs2); //66c
//        System.out.println("当前读取的字节数量为" + len2); //2

        // 3. 使用循环改造
        byte[] buffer = new byte[3];
        int len; // 记录每次读取了多少个字节
        while ((len = is.read(buffer)) != -1) {
            String rs = new String(buffer, 0, len);
            System.out.print(rs);
        }

        is.close(); //关闭流
    }
}

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

/*
    文件字节输入流,每次读取全部字节
 */
public class FileInputStreamTest03 {
    public static void main(String[] args) throws IOException {
        // 1. 创建文件字节输入流管道,与源文件接通
        InputStream is = new FileInputStream("day01\\src\\file\\file02.txt");

        // 2. 使用readAllBytes方法读取全部字节
        byte[] buffer = is.readAllBytes();
        System.out.println(new String(buffer)); //abc66
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值