博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java filewriter_java中Write FileWriter()和FileWriter(new file)的区别
阅读量:4579 次
发布时间:2019-06-08

本文共 1300 字,大约阅读时间需要 4 分钟。

展开全部

没什么区别,只是不同的重载而已,最终都是调用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);

}

转载地址:http://cmqms.baihongyu.com/

你可能感兴趣的文章
hdu 4348 To the moon
查看>>
判断矩形和圆交
查看>>
vector排序,set交并,map
查看>>
elasticsearch2.2 集群搭建各种坑
查看>>
ECMAScript6面对大于0xFFFF的Unicode字符如何正确返回长度
查看>>
[转载]oracle索引类型及扫描方式大整理
查看>>
Elastislide插件通过横向传送带方式浏览图片
查看>>
iOS 自定义Tabbar实现push动画隐藏效果
查看>>
Redis分布式锁的正确实现方式(Java版)
查看>>
tomcat非配置项的策略问题
查看>>
一款基于jQuery的联动Select下拉框
查看>>
Tomcat,eclipse热部署的三种方式
查看>>
正则表达式(二)
查看>>
background-image中url找不到路径,背景图像无法显示
查看>>
Binary Tree Maximum Path Sum
查看>>
SQL基础语句(提升)
查看>>
maven私服搭建
查看>>
Struts2的学习-通配符和session对象
查看>>
Text Helper
查看>>
Leetcode 138: Copy List with Random Pointer
查看>>