java filewriter_java中Write FileWriter()和FileWriter(new file)的区别

展开全部

没什么区别,只是不同的重载而已,最终都是调用32313133353236313431303231363533e58685e5aeb931333365663562的OutputStreamWriter的构造方法,可查看源码验证。之所以有两种构造方法,是为了方便调用者使用不同类型的参数构造对象。

源码如下:public FileWriter(String fileName) throws IOException {

super(new FileOutputStream(fileName));

}

public FileWriter(File file) throws IOException {

super(new FileOutputStream(file));

}

可以发现最终都是调用父类相同的构造方法:public OutputStreamWriter(OutputStream out) {

super(out);

try {

se = StreamEncoder.forOutputStreamWriter(out, this, (String)null);

} catch (UnsupportedEncodingException e) {

throw new Error(e);

}

}

再看FileOutputStream的构造方法:public FileOutputStream(File file) throws FileNotFoundException {

this(file, false);

}

public FileOutputStream(String name) throws FileNotFoundException {

this(name != null ? new File(name) : null, false);

}

可以看到最终也调用了同一个构造方法: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);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值