使用JNLP,我有这行代码:
File_Save_Service.saveFileDialog(null,null,new StringBufferInputStream("testing"),null);
在这一行中,如何用StringReader替换StringBufferInputStream?StringBufferInputStream的API建议最好使用StringReader,但是如何在不同类型之间进行转换呢?
发布于 2010-02-08 12:17:11
FileSaveService.saveFileDialog接受InputStream,而不是读取器(因为它需要二进制数据,而不是字符数据)。
StringBufferInputStream不推荐使用,因为它不能正确地将字符转换为字节。
您可以改用ByteArrayInputStream:
new ByteArrayInputStream("the string".getBytes("UTF-8"))
发布于 2010-02-08 12:04:18
标准的Java类库没有提供将Reader
包装为InputStream
的方法,但是下面的SO问题及其答案提供了一些解决方案。仔细阅读小字!
How to convert a Reader to InputStream and a Writer to OutputStream?
但是,更简单的做法是只使用已有的代码(如果这只是单元测试代码……看起来是这样),或者用@Thilo的答案中描述的ByteArrayInputStream
替换StringInputStream
。
https://stackoverflow.com/questions/2219439
复制相似问题