- java.lang.Object
-
- java.io.Writer
-
- java.io.StringWriter
-
- 实现的所有接口
-
Closeable
,Flushable
,Appendable
,AutoCloseable
public class StringWriterextends Writer
在字符串缓冲区中收集其输出的字符流,然后可用于构造字符串。关闭
StringWriter
无效。 在关闭流之后可以调用此类中的方法,而不生成IOException
。- 从以下版本开始:
- 1.1
-
-
构造方法摘要
构造方法 构造器 描述 StringWriter()
使用默认的初始字符串缓冲区大小创建新的字符串编写器。StringWriter(int initialSize)
使用指定的初始字符串缓冲区大小创建新的字符串writer。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 StringWriter
append(char c)
将指定的字符追加到此writer。StringWriter
append(CharSequence csq)
将指定的字符序列追加到此writer。StringWriter
append(CharSequence csq, int start, int end)
将指定字符序列的子序列追加到此writer。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)
写一个字符串的一部分。-
声明方法的类 java.io.Writer
nullWriter, write
-
-
-
-
构造方法详细信息
-
StringWriter
public StringWriter()
使用默认的初始字符串缓冲区大小创建新的字符串编写器。
-
StringWriter
public StringWriter(int initialSize)
使用指定的初始字符串缓冲区大小创建新的字符串writer。- 参数
-
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)
将指定的字符序列追加到此writer。调用
out.append(csq)
形式的此方法的行为与调用的方式完全相同out.write(csq.toString())
取决于规范
toString
字符序列csq
,整个序列可以不追加。 例如,调用字符缓冲区的toString
方法将返回一个子序列,其内容取决于缓冲区的位置和限制。- Specified by:
-
append
,界面Appendable
- 重写:
-
append
类Writer
- 参数
-
csq
- 要追加的字符序列。 如果csq
是null
,则将四个字符"null"
附加到该写入器。 - 结果
- 这位作家
- 从以下版本开始:
- 1.5
-
append
public StringWriter append(CharSequence csq, int start, int end)
将指定字符序列的子序列追加到此writer。形式的这种方法的调用
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)
将指定的字符追加到此writer。调用
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错误
-
-