Java IO:StringWriter
时间:2020-01-09 10:36:07 来源:igfitidea点击:
JavaStringWriter
类(java.io.StringWriter
)使我们能够获取以String
形式写入Writer
的字符。如果我们有一个只能将数据写入"写入器"的组件,但我们需要将该数据作为字符串,则" StringWriter"很有用。
StringWriter示例
这是一个简单的JavaStringWriter
示例:
StringWriter stringWriter = new StringWriter(); //write characters to writer. stringWriter.write("This is a text"); String data = stringWriter.toString(); StringBuffer dataBuffer = stringWriter.getBuffer(); stringWriter.close();
这个例子首先创建一个StringWriter
。其次,该示例将字符串写入StringWriter
。
第三,通过两个方法toString()和getBuffer()获得写入StringWriter的字符。我们只需要使用这两种方法之一,但是都显示了这两种方法,因此我们知道它们都存在。
方法toString()返回以String形式写入StringWriter的字符。
方法getBuffer()返回由StringWriter使用的StringBuffer,以根据写入的字符来构建字符串。
关闭一个StringWriter
完成将字符写入JavaStringWriter
后,可以关闭。由于StringWriter
没有连接到任何底层系统资源,例如文件或者网络连接,因此关闭它并不重要。
关闭StringWriter的方法是调用其close()方法。这是关闭JavaStringWriter
的样子:
stringWriter.close();
我们还可以使用Java 7中引入的try-with-resources构造。这是如何使用try-with-resources构造使用和关闭StringWriter
外观的方法:
try(StringWriter stringWriter = new StringWriter() ){ stringWriter.write("data 1"); stringWriter.write("data 2"); stringWriter.write("data 3"); String writtenText = stringWriter.toString(); }
注意,不再有任何对StringWriter实例的显式close()方法调用。 try-with-resources构造可以解决这一问题。