黑马程序员技术交流社区
标题:
输入文件流中,append和write的区别体现在什么地方
[打印本页]
作者:
新新人类嘿嘿嘿
时间:
2014-9-5 17:15
标题:
输入文件流中,append和write的区别体现在什么地方
我知道append应该是追加,write应该是覆盖。
但这个例子中
FileWriter fWriter = new FileWriter("e:\\aa.txt");
BufferedWriter bwWriter=new BufferedWriter(fWriter);
bwWriter.append("abc");//这里写write效果一样啊
有知道详细的吗?谢谢诸位
作者:
孤守星空
时间:
2014-9-5 17:36
本帖最后由 孤守星空 于 2014-9-5 17:42 编辑
以 out.append(c) 的形式调用此方法,行为与以下调用完全相同: out.write(c)
void
write
(int c)
写入单个字符。
Writer
append(char)
append
(char c)
将指定字符添加到此 writer。
可能这个就是区别
作者:
孤守星空
时间:
2014-9-5 17:42
擦,复制出来这么牛·····一个货带返回类型,write没有
作者:
新新人类嘿嘿嘿
时间:
2014-9-5 17:43
孤守星空 发表于 2014-9-5 17:42
擦,复制出来这么牛·····一个货带返回类型,write没有
就返回类型的区别是吧,我还以为是:append在文件已经存在情况下,再执行时继续追加到后面呢,结果发现不是
作者:
xplcc
时间:
2014-9-5 18:04
append方法源码
public Writer append(CharSequence csq) throws IOException {
if (csq == null)
write("null");
else
write(csq.toString());
return this;
}
复制代码
writer方法源码
public void write(String str) throws IOException {
write(str, 0, str.length());
}
复制代码
作者:
bullfrog
时间:
2014-9-5 18:35
CharSequence是个接口,String和StringBuilder都是它的subtype,而Sting对象是一旦建立,其内容就不可改变。 StringBuilder对象的内容却是可以改变的。
append里既可以传String,又可以传StringBuilder,会灵活一些。
另外就是源码里的当csq值为null时的区别了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2