package cn.itcast_02;
import java.io.FileInputStream;
import java.io.IOException;
/*
* 一次读取一个字节数组:int read(byte[] b)
* 返回其实是实际读取取的字节个数。
*/
public class FileInputStreamDemo2 {
public static void main(String[] args) throws IOException {
// 创建字节输入流对象
// FileInputStream fis = new FileInputStream("fis2.txt");
FileInputStream fis = new FileInputStream("FileOutputStreamDemo.java");
// 读取数据
// 定义一个字节数组
// 第一次读取
// byte[] bys = new byte[5];
// int len = fis.read(bys);
// System.out.println(len);
// System.out.println(new String(bys, 0, len));
//
// // 第二次读取
// len = fis.read(bys);
// System.out.println(len);
// System.out.println(new String(bys, 0, len));
//
// // 第三次读取
// len = fis.read(bys);
// System.out.println(len);
// System.out.println(new String(bys, 0, len));
//
// // 第四次读取
// len = fis.read(bys);
// System.out.println(len);
// System.out.println(new String(bys, 0, len));
// // 代码重复了,用循环改进
// // 但是我不知道循环条件
// len = fis.read(bys);
// System.err.println(len);
// len = fis.read(bys);
// System.err.println(len);
// 如果读取到的实际数据是-1,就说明没有数据了
// byte[] bys = new byte[115];
// int len = 0;
// while ((len = fis.read(bys)) != -1) {
// System.out.print(new String(bys, 0, len));
// // System.out.println(new String(bys));//千万要带上len的使用
// }
// 最终代码版
// 数组的长度一般是1024或者1024的整倍数
byte[] bys = new byte[1024];
int len = 0;
while ((len = fis.read(bys)) != -1) {
System.out.print(new String(bys, 0, len));
}
// 释放资源
fis.close();
}
}
最近整理出了有关大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互等1.7G的学习资料,有视频教程,源码,课件,软件工具,面试题等等,这里将珍藏多年的资源免费分享给各位小伙伴们。
领取方式:https://blog.csdn.net/qq_42914528/article/details/81777449
欢迎大家关注我的公众号:
里面会分享很多JAVA技术、新知识、新技术、面试宝典等。
有让技术爱好者(程序猿)得到很大提升的文章资料。
还在犹豫什么,赶紧关注一波,微信搜索公众号:程序员的成长之路。或者扫描下方二维码进行关注。
欢迎关注公众号,和我一起成长!