进阶day09-用字节输入流一次读取一个字节数组
This commit is contained in:
53
javaSE-day09/src/com/inmind/inputstream02/Demo07.java
Normal file
53
javaSE-day09/src/com/inmind/inputstream02/Demo07.java
Normal file
@@ -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("程序结束");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user