IO流中FileInputStream采用byte[]方式读取。
相比单纯使用read()方法读取文件,采用byte[]方式读取占用资源较少,一次读取的量较大,也就是read(byte b[])。
声明byte[]时采用静态初始化,这里让他每次读8byte
输出时使用String(byte bytes[], int offset, int length)的方式输出,length就是最终read(byte b[])的返回值。offset一般从第0个下标开始读取,所以是String(bytes,0,readback)
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Test{
public static void main(String[] args) {
//声明FileInputStream并赋值null
FileInputStream fileInputStream = null;
try {
//newFileInputStream,可以使用绝对路径,也可以使用相对路径
// 相对路径在工程下开始
fileInputStream = new FileInputStream("文件路径");
//采取byte数组形式读取,每次读8byte
byte[] bytes = new byte[8];
//声明一个readback来取回读取到的字节数
int readback;
//while循环当readback取回-1时break
while((readback = (fileInputStream.read(bytes))) != -1){
System.out.print(new String(bytes,0,readback));
}
//异常的处理
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//关闭FileInputStream流(必要)
try {
if (fileInputStream != null) {
fileInputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
网友评论