一、属性
private FileChannel channel;
private final Object closeLock = new Object();//关闭文件的同步锁
private volatile boolean closed = false;
二、方法
- FileOutputStream(FileDescriptor)时,path为null;
- close()使用了锁,同时需要关闭channel和fd文件句柄。
- finalize()标准输出和错误调用子类的flush(),其他调用close()。
- open(String, boolean)调用本地方法。私有,供初始化时使用。
- write(byte[])调用write(byte[], int, int),write(byte[], int, int)调用本地方法writeBytes(byte[], int, int, boolean)。
- write(int)调用本地方法write(int, boolean)。
三、总结
注意第一条。
关闭文件那里有点难理解。
核心方法就是write(byte[], int, int)。