package com.lovecoding.day21.file02;

import org.junit.Test;

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

public class TestFileinput02 {


    //FileInputStream

    //- `public int read()`： 从输入流读取一个字节。返回读取的字节值。虽然读取了一个字节，但是会自动提升为int类型。如果已经到达流末尾，没有数据可读，则返回-1。
    //- `public int read(byte[] b)`： 从输入流中读取一些字节数，并将它们存储到字节数组 b中 。每次最多读取b.length个字节。返回实际读取的字节个数。如果已经到达流末尾，没有数据可读，则返回-1。
    //- `public int read(byte[] b,int off,int len)`：从输入流中读取一些字节数，并将它们存储到字节数组 b中，从b[off]开始存储，每次最多读取len个字节 。返回实际读取的字节个数。如果已经到达流末尾，没有数据可读，则返回-1。
    //- `public void close()` ：关闭此输入流并释放与此流相关联的任何系统资源。

    //读取 数组
    @Test
    public void test05() throws IOException {
        //字符串
        FileInputStream fis1 = new FileInputStream("bbb.txt");
        //循环读取
        byte[] bytes = new byte[6]; //8192
        //数组长度
        int len = 0;
        //read到-1 结束  读取结果赋值给 len
        while ( (len = fis1.read(bytes,0,2)) != -1 ){
            String s = new String(bytes,0,len);
            System.out.println(s);
        }

        //释放
        fis1.close();
    }

    //读取 数组
    @Test
    public void test04() throws IOException {
        //字符串
        FileInputStream fis1 = new FileInputStream("bbb.txt");
        //循环读取
        byte[] bytes = new byte[6]; //8192
        //数组长度
        int len = 0;
        //read到-1 结束  读取结果赋值给 len
        while ( (len = fis1.read(bytes)) != -1 ){
            String s = new String(bytes,0,len);
            System.out.println(s);
        }

        //释放
        fis1.close();
    }
    //读取
    @Test
    public void test03() throws IOException {
        //字符串
        FileInputStream fis1 = new FileInputStream("bbb.txt");
        //循环读取
        int len = 0;
        //read到-1 结束  读取结果赋值给 len
        while ( (len = fis1.read()) != -1 ){
            System.out.print((char) len);
        }

        //释放
        fis1.close();
    }

        //读取
    @Test
    public void test02() throws IOException {
        //字符串
        FileInputStream fis1 = new FileInputStream("bbb.txt");

        //read
        int read = fis1.read();
        System.out.println(read);
        fis1.read();
        fis1.read();
        fis1.read();
        fis1.read();
        fis1.read();
        fis1.read();
        fis1.read();
        //返回-1 读取不到
        int read1 = fis1.read();
        System.out.println(read1);


        fis1.close();
    }

    //构造方法
    @Test
    public void test01() throws FileNotFoundException {
        //File 构建
        FileInputStream fis1 = new FileInputStream(new File("aaa.txt"));
        //字符串
        FileInputStream fis2 = new FileInputStream("bbb.txt");

    }
}
