From 8f31c94ed8c72e5aa93a0d154e10dd72d84a13a5 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 21 Mar 2026 13:19:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day09-=E7=94=A8=E5=AD=97?= =?UTF-8?q?=E8=8A=82=E8=BE=93=E5=85=A5=E6=B5=81=E4=B8=80=E6=AC=A1=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E4=B8=80=E4=B8=AA=E5=AD=97=E8=8A=82=E6=95=B0=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/inputstream02/Demo07.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 javaSE-day09/src/com/inmind/inputstream02/Demo07.java 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("程序结束"); + } +}