如何将Writer转换为String

时间:2013-10-04 12:31:15

标签: java android string io

 Writer writer = new Writer();
 String data = writer.toString();/* the value is not casting and displaying null...*/

还有其他方法可以将编写器转换为字符串吗?

3 个答案:

答案 0 :(得分:45)

如果我想用它制作一个String,我会使用专门的编写器。

Writer writer = new StringWriter();
String data = writer.toString(); // now it works fine

答案 1 :(得分:1)

如果您希望Writer实施产生Stringuse a StringWriter

答案 2 :(得分:1)

有几个答案建议使用StringWriter。 重要的是要意识到 StringWriter在内部使用StringBuffer ,这意味着它是线程安全的,并且具有很大的同步开销

  • 如果编写者需要线程安全,那么StringWriter是可行的方法。

  • 如果您不需要线程安全的Writer(即在单个方法中仅将writer用作局部变量)并且您在意性能,请考虑使用{{3 }} (来自StringBuilderWriter)。

StringBuilderWriterStringWriter几乎相同,但是使用StringBuilder而不是StringBuffer

样品用量:

Writer writer = new StringBuilderWriter();
String data = writer.toString();

注意— commons-io library与commons-io版本几乎相同。