Java基础 read(byte[] buffer) 方法详解
public int read () → 一次读取一个字节数据
public int read (byte[] buffer) → 一次读取一个字节数组的数据,读取完后,会把读取到的数据还存到参数的数组当中;
返回值表示 本次读取到了多少个字节数据,如果读不到数据,返回 -1
read (byte[] buffer) 方法具体读多少,是跟字节数组的长度有关的。每次读取都会尽可能把数组装满
我们创建的数组的长度尽量是 1024 的整数倍,例如 1024*1024*5 的长度
eg:
FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt");
byte[] bytes = new byte[2];
int len = fis.read(bytes);
//System.out.println(Arrays.toString(bytes));
String str = new String(bytes, 0, len);
System.out.println(str);
fis.close();
-------------------------------------------------------------
FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt");
byte[] bytes = new byte[5];
while (true) {
int len = fis.read(bytes);
if (len == -1)
break;
System.out.print(new String(bytes, 0, len));
}
fis.close();