readAllBytes() 返回字符数组 读取完所有的字节
package com.itheima.d4_byte_stream;
import java.io.*;
/**
* 目标: 使用文件字节输入流一次性读完文件的全部字节,可以解决乱码问题
*/
public class FileInputStreamDemo03 {
public static void main(String[] args) throws IOException {
// 1. 创建一个文件字节输入流管道与源文件接通
File f = new File("file-io-app\\src\\data03");
InputStream is = new FileInputStream(f);
// // 2. 定义一个字节数组与文件的大小刚刚一样大 就是这个桶里面装的字节个数和字节大小一样就可以全部读完
// byte[] buffer = new byte[(int) f.length()]; // file类的length方法可以返回文件的大小
// int len = is.read(buffer); // 读取文件的个数(和文件大小一样大,全部读完)
// System.out.println("读取了多少个字节" + len);
// System.out.println("文件大小:" + f.length());
// // 编码,输出
//// System.out.println(buffer); // 这打印的是字节数组的地址
// System.out.println(new String(buffer));
// Java提供了一个API可以读取文件的全部字节(返回一个字节数组) readAllBytes
byte[] buffer = is.readAllBytes(); // 这个返回一个字节数组
System.out.println(new String(buffer)); // 读取完,直接进行编码输出
}
}