- java.lang.Object
-
- java.io.Writer
-
- java.io.StringWriter
-
- All Implemented Interfaces:
-
Closeable
,Flushable
,Appendable
,AutoCloseable
public class StringWriter extends Writer
在字符串缓冲区中收集其输出的字符流,然后可以用于构造字符串。关闭
StringWriter
没有任何效果。 该流中的方法可以在流关闭后调用,而不生成IOException
。- 从以下版本开始:
- 1.1
-
-
构造方法摘要
构造方法 Constructor 描述 StringWriter()
使用默认的初始字符串缓冲区大小创建一个新的字符串写入器。StringWriter(int initialSize)
使用指定的初始字符串缓冲区大小创建一个新的字符串写入器。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 StringWriter
append(char c)
将指定的字符附加到此作者。StringWriter
append(CharSequence csq)
将指定的字符序列附加到此作者。StringWriter
append(CharSequence csq, int start, int end)
将指定字符序列的子序列附加到此作者。void
close()
关闭一个StringWriter
没有任何效果。void
flush()
冲洗流。StringBuffer
getBuffer()
返回字符串缓冲区本身。String
toString()
以缓冲区的当前值作为字符串返回。void
write(char[] cbuf, int off, int len)
写一个字符数组的一部分。void
write(int c)
写一个字符void
write(String str)
写一个字符串void
write(String str, int off, int len)
写一个字符串的一部分
-
-
-
构造方法详细信息
-
StringWriter
public StringWriter()
使用默认的初始字符串缓冲区大小创建一个新的字符串写入器。
-
StringWriter
public StringWriter(int initialSize)
使用指定的初始字符串缓冲区大小创建一个新的字符串写入器。- 参数
-
initialSize
- 自动展开之前将适合此缓冲区的char
值的数量 - 异常
-
IllegalArgumentException
- 如果initialSize
为负数
-
-
方法详细信息
-
write
public void write(char[] cbuf, int off, int len)
写一个字符数组的一部分。- Specified by:
-
write
在类Writer
- 参数
-
cbuf
- 字符数组 -
off
- 开始编写字符的偏移量 -
len
- 要写入的字符数 - 异常
-
IndexOutOfBoundsException
- 如果off
为负数,或len
为负数,或off + len
为负数或大于给定数组的长度
-
write
public void write(String str, int off, int len)
写一个字符串的一部分- 重写:
-
write
在Writer
- 参数
-
str
- 要写入的字符串 -
off
- 开始写入字符的偏移量 -
len
- 要写入的字符数 - 异常
-
IndexOutOfBoundsException
- 如果off
为负数,或len
为负数,或off + len
为负数或大于给定字符串的长度
-
append
public StringWriter append(CharSequence csq)
将指定的字符序列附加到此作者。对这种
out.append(csq)
形式的方法的调用与调用的方式完全相同out.write(csq.toString())
取决于规范
toString
字符序列csq
,整个序列可以不追加。 例如,调用字符缓冲区的toString
方法将返回一个子序列,其内容取决于缓冲区的位置和限制。- Specified by:
-
append
在接口Appendable
- 重写:
-
append
在类Writer
- 参数
-
csq
- 要追加的字符序列。 如果csq
为null
,则该"null"
器附加四个字符"null"
。 - 结果
- 这位作家
- 从以下版本开始:
- 1.5
-
append
public StringWriter append(CharSequence csq, int start, int end)
将指定字符序列的子序列附加到此作者。形式的这种方法的调用
out.append(csq, start, end)
时csq
不是null
,行为以完全相同的方式调用out.write(csq.subSequence(start, end).toString())
- Specified by:
-
append
在接口Appendable
- 重写:
-
append
在类Writer
- 参数
-
csq
- 附加子序列的字符序列。 如果csq
是null
,那么字符将被追加,就像csq
包含四个字符"null"
。 -
start
- 子序列中第一个字符的索引 -
end
- 子序列中最后一个字符后面的字符的索引 - 结果
- 这位作家
- 异常
-
IndexOutOfBoundsException
- 如果start
或end
为负数,则start
大于end
,或end
大于csq.length()
- 从以下版本开始:
- 1.5
-
append
public StringWriter append(char c)
将指定的字符附加到此作者。调用此方法的形式为
out.append(c)
行为方式与调用完全相同out.write(c)
- Specified by:
-
append
在接口Appendable
- 重写:
-
append
在Writer
- 参数
-
c
- 要追加的16位字符 - 结果
- 这位作家
- 从以下版本开始:
- 1.5
-
getBuffer
public StringBuffer getBuffer()
返回字符串缓冲区本身。- 结果
- StringBuffer保存当前缓冲区值。
-
close
public void close() throws IOException
关闭StringWriter
没有任何效果。 该流中的方法可以在流关闭后调用,而不生成IOException
。- Specified by:
-
close
在接口AutoCloseable
- Specified by:
-
close
在接口Closeable
- Specified by:
-
close
在Writer
- 异常
-
IOException
- 如果发生I / O错误
-
-