read()空参数,作用是“从此输入流中读取一个数据字节。”,返回值为读取到的字节并强转为int形式
public class P01Stream { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File f = new File("D:\\lol2.txt");//“ABC” FileInputStream fis = new FileInputStream(f); int len = 0; while((len = fis.read()) != -1) System.out.println(len); } } //输出结果: //65 //66 //67
read(byte[] b)时,作用是“从此输入流中将最多
b.length
个字节的数据读入一个 byte 数组中。”返回值是读取到的字节个数。
public class P01Stream { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File f = new File("D:\\lol2.txt");//"ABC" FileInputStream fis = new FileInputStream(f); int len = 0; byte[] bytes = new byte[(int) f.length()]; while((len = fis.read(bytes)) != -1) System.out.println(len); } } //输出结果 //3
该byte数组作为缓冲数组,存储了读取到的字节
public class P01Stream { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub File f = new File("D:\\lol2.txt");//"ABC" FileInputStream fis = new FileInputStream(f); int len = 0; byte[] bytes = new byte[(int) f.length()]; while((len = fis.read(bytes)) != -1) { for (byte b : bytes) { System.out.println(b); } } } } //输出结果 //65 //66 //67