FileInputStream 继承于 InputStream 类。
可以参考 InputStream 的源码:http://blog.csdn.net/yx0628/article/details/79343633
属性
// 文件描述类,处理打开的文件
private final FileDescriptor fd;
// 文件的路径,如果该流是通过文件描述类创建的,该属性则为空
private final String path;
// 用于读、写、映射、操作文件的通道
private FileChannel channel = null;
// 一个关闭锁,只在close()方法中使用,确保多线程同步调用,同时和其他同步方法不冲突(因为这个关闭锁是自己的对象锁)
private final Object closeLock = new Object();
// 流是否是关闭的,volatile保证多线程的可见性
private volatile boolean closed = false;
构造函数
// 文件路径创建File对象,并调用下边的重载的构造函数
public FileInputStream(String name) throws FileNotFoundException {
this(name != null ? new File(name) : null);
}
// 根据File对象来构造文件输入流
public FileInputStream(File file) throws FileNotFoundException {
// 获取文件路径
String name = (file != null ? file.getPath() : null);
// 获取系统的安全管理器
SecurityMa