Java中IO框架——FileOutputStream源码解析

FileOutputStream 继承自 OutputStream 。
OutputStream 的源码分析见:http://blog.csdn.net/yx0628/article/details/79370689
同时可以参考 FileInputStream 的源码:http://blog.csdn.net/yx0628/article/details/79344859

FileOutputStream 和 FileInputStream 二者对应,而且二者特别相似,只需要看懂一个源码另一个也就明白了。

属性

    // 文件描述符,处理打开的文件
    private final FileDescriptor fd;
    // 是否在文件尾部开始追加写入
    private final boolean append;
    // 用于读、写、映射、操作文件的通道
    private FileChannel channel;
    // 文件的路径,如果该流是通过文件描述类创建的,该属性则为空
    private final String path;
    // 一个关闭锁,只在close()方法中使用,确保多线程同步调用,同时和其他同步方法不冲突(因为这个关闭锁是自己的对象锁)
    private final Object closeLock = new Object();
    // 流是否是关闭的,volatile保证多线程的可见性
    private volatile boolean closed = false;

构造函数

    // 创建一个向指定File对应的文件中写入数据的文件输出流
    public FileOutputStream(String name) throws FileNotFoundException {
        this(name != null ? new File(name) : null, false);
    }

    // 创建一个向指定File对应的文件中写入数据的文件输出流
    // 第二个参数append是否在文件末尾开始写入
    public FileOutputStream(String name, boolean append)
        
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值