构造方法
构造方法的作用:
1)产生一个对象。
2)对对象进行初始化。
1)FileInputStream(File file)
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
注:此处传递的是文件对象,可以提前创建文件对象,传入。
File file = new File("test.txt");
FileInputStream fis = new FileInputStream(file);
也可以在这里直接new 一个文件对象 。
FileInputStream fis = new FileInputStream(new File("test.txt"));
2)FileInputStream(String name)
通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
注: 直接传递文件名字。
FileInputStream fis = new FileInputStream("test.txt");
字节读入
1)单个字节读入:
read() 方法
从此输入流中读取一个数据字节。
返回下一个数据字节;如果已到达文件末尾,则返回 -1。
2 )多个字节读入:
read(byte[] b, int off, int len)
从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。
b - 存储读取数据的缓冲区。
off - 目标数组 b 中的起始偏移量。
len - 读取的最大字节数。
注:数组必须是 byte类型。
byte[] bytes = new byte[1024];
int len = 0;
while((len = fis.read(bytes))!=-1){
System.out.print(new String(bytes,0,len));
}
此处将byte类型转换为字符串,便于查看。
灵活运用String的构造方法将byte类型进行转化。
String 构造方法
String(byte[] bytes, int offset, int length)
通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于该子数组的长度。
bytes - 要解码为字符的 byte
offset - 要解码的第一个 byte 的索引
length - 要解码的 byte 数
最后
以上都要抛出异常,一些方法抛出的异常可能不同,建议直接抛出 IOException异常,因为其他的异常都异常与此异常。