首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用StringReader替代StringBufferInputStream?

如何用StringReader替代StringBufferInputStream?
EN

Stack Overflow用户
提问于 2010-02-08 11:43:37
回答 2查看 21.2K关注 0票数 28

使用JNLP,我有这行代码:

代码语言:javascript
复制
File_Save_Service.saveFileDialog(null,null,new StringBufferInputStream("testing"),null);

在这一行中,如何用StringReader替换StringBufferInputStream?StringBufferInputStream的API建议最好使用StringReader,但是如何在不同类型之间进行转换呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-08 12:17:11

FileSaveService.saveFileDialog接受InputStream,而不是读取器(因为它需要二进制数据,而不是字符数据)。

StringBufferInputStream不推荐使用,因为它不能正确地将字符转换为字节。

您可以改用ByteArrayInputStream:

代码语言:javascript
复制
new ByteArrayInputStream("the string".getBytes("UTF-8"))
票数 44
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2219439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档