Writer writer = new Writer();
String data = writer.toString();/* the value is not casting and displaying null...*/
有没有其他方法可以将 writer 转换为 string?
如果我想用它制作一个字符串,我会使用一个专门的作家。
Writer writer = new StringWriter();
String data = writer.toString(); // now it works fine
几个答案建议使用StringWriter. 意识到内部StringWriter使用StringBuffer很重要,这意味着它是线程安全的并且具有显着的同步开销。
如果您需要作家的线程安全,那么StringWriter就是要走的路。
如果您不需要线程安全Writer(即编写器仅用作单个方法中的局部变量)并且您关心性能 -考虑使用StringBuilderWritercommons -io 库。
StringBuilderWriter与 几乎相同StringWriter,但使用StringBuilder代替StringBuffer。
示例用法:
Writer writer = new StringBuilderWriter();
String data = writer.toString();
注意——Log4j 有自己的 StringBuilderWriter 实现,几乎与 commons-io 版本相同。
如果您想要一个Writer导致 a 的实现String,请使用 aStringWriter。