diff --git a/javaSE-day09/src/com/inmind/inputstream02/Demo07.java b/javaSE-day09/src/com/inmind/inputstream02/Demo07.java new file mode 100644 index 0000000..a20d8d7 --- /dev/null +++ b/javaSE-day09/src/com/inmind/inputstream02/Demo07.java @@ -0,0 +1,53 @@ +package com.inmind.inputstream02; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; + +/* +用字节输入流一次读取一个字节数组 +FileInputStream(String name) 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。 + int read(byte[] b) 从字节输入流中将字节数据读取到参数b数组中,返回的值读取的字节个数 + */ +public class Demo07 { + public static void main(String[] args) throws IOException { + FileInputStream fis = new FileInputStream("a.txt"); + + + /*byte[] bytes = new byte[2];//用来保存字节输入流读取的多个字节数据(暂且是2个) + int len ; //用来保存读取到字节数据的个数 + len = fis.read(bytes); + System.out.println(len); + System.out.println(new String(bytes,0,len)); + + len = fis.read(bytes); + System.out.println(len); + System.out.println(new String(bytes,0,len)); + + len = fis.read(bytes); + System.out.println(len); + System.out.println(new String(bytes,0,len)); + + len = fis.read(bytes); + System.out.println(len);*/ + + //int read(byte[] b) 一次读一个字节数组 + byte[] bytes = new byte[1024];//用来保存读取字节数据的数组 + int len;//保存读取到字节的个数(判断读几个字节,是否是末尾) + /* + 循环条件: + (len = fis.read(bytes))!=-1 + 1.fis.read(bytes):将字节输入流中的字节数据读取到bytes数组中 + 2.len = fis.read(bytes):将读取到的字节数据的长度赋值给len + 3.(len = fis.read(bytes))!=-1:判断read的返回值是否是-1,就是在判断是否有更多的数据 + + */ + while ((len = fis.read(bytes)) != -1) { + System.out.println(len); + System.out.println(new String(bytes,0,len));//读取多少个字节,就获取多少个 + } + + fis.close(); + System.out.println("程序结束"); + } +}