JAVA 篇之IO FileWrite
JAVA 篇之IO FileWrite
开源大法好啊 发表于5个月前
JAVA 篇之IO FileWrite
  • 发表于 5个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

为什么要说这个类,有时候我们可能需要把一些信息追加写入文件中(比如打印的日志)

Flushable 刷新数据到目的地,可以调用flush把缓冲区数据刷入到底层流

appendable作用 追加数据到目的地

try (FileWriter writer = new FileWriter("desc",true)){  //为true开启追加模式
    writer.write("你好\r\n"); //linux 要换行为 \r
}catch (Exception e){
   e.printStackTrace();
}

看下具体实现,具体在构造函数中打开这个开关

public FileOutputStream(File file, boolean append)
    throws FileNotFoundException
{
    String name = (file != null ? file.getPath() : null);
    SecurityManager security = System.getSecurityManager();
    if (security != null) {
        security.checkWrite(name);
    }
    if (name == null) {
        throw new NullPointerException();
    }
    if (file.isInvalid()) {
        throw new FileNotFoundException("Invalid file path");
    }
    this.fd = new FileDescriptor();
    fd.attach(this);
    this.append = append;
    this.path = name;

    open(name, append);  //打开文件追加模式开关
}
private native void open0(String name, boolean append) //底层本地方法实现
    throws FileNotFoundException;

 

 

 

 

 

 

 

 

 

 

 

 

 

共有 人打赏支持
粉丝 3
博文 40
码字总数 17798
×
开源大法好啊
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: