Java中BufferedWriter里的append与write有什么区别

如题所述

Stringbuffer 有append()方法
Stringbuffer其实是动态字符串数组
append()是往动态字符串数组添加,跟“xxxx”+“yyyy”相当那个‘+’号
跟String不同的是Stringbuffer是放一起的
String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样
String1+String2 存在于不同的两个地址内存
Stringbuffer1.append(Stringbuffer2)放再一起
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-10

BufferedWriter的append是这样实现的(源码):

    public Writer append(CharSequence csq) throws IOException {
        if (csq == null)
            write("null");
        else
            write(csq.toString());
        return this;
    }

CharSequence是String和StringBuffer和StringBuilder的共同接口,表示一段可读(?)的字符串,一般调用append(String)会重载到上面的方法

第2个回答  2015-01-25
append()会保留原来的内容,write()会将流重新写入
第3个回答  2015-01-25
很明显啊 append是追加 write是覆盖
相似回答