InputStream 字节输入流基类
操作步骤:
步骤1:打开特定类型的输入流,可能会抛出FileNotFoundException FileInputStream inputStream = new FileInputStream(path);
步骤2:读取数据操作,-1表示读取结束,可能会抛出IOException异常
int read = inputStream.read();
步骤3:关闭流,可能会抛出IOException异常
inputStream.close();
public static void main(String[] args) throws IOException {
//InputStream
String path = "C:\\Users\\lenovo\\Desktop\\a.txt";
//输入流的读操作步骤
//打开特定类型的输入流,可能会抛出FileNotFound
FileInputStream inputStream = new FileInputStream(path);
//读取数据 每次读取一个字节,返回的结果为对应数据的数字
int read = inputStream.read();
System.out.println(read);
//读取数据,五个一行
byte[] bytes = new byte[5];
int read = 0;
while ((read = inputStream.read(bytes)) != -1) {
System.out.print(new String(bytes,0, read));
}
System.out.println();
//关闭流
inputStream.close();
}
读操作介绍:
每次你读取一个字节,返回的结果为对应字节的数据
int read = inputStream.read();
批量读取数据,
将数据读入到arr的byte数组中,返回值为int类型,表示读取的有效数据的个数inputStream.read(byte[ ] arr);
批量读取数据,
b[ ] 表示的是数据读入的缓存地址,off表示读入的缓存起始位置,len表示从起始位置开始写入的数量,
给read方法返回值表示读取有效数据个数
int read(byte b[ ], int off, int len);
//第一种 每次读取一个字节数
inputStream.read();
System.out.println((char) read);
// 第二种 批量读取数据 读取一个字节数组,返回值表示读取有效数据的个数
byte[] bytes1 = new byte[100];
inputStream.read(bytes1);
//第三种 缓存空间偏移指定off后,存储相应的len
inputStream.read(bytes, 4, 35);
String s = new String(bytes);
System.out.println(s);
//关闭流
inputStream.close();
}