如何在 Java ME 中将 StringBuffer 转换为 InputStream?
Posted
技术标签:
【中文标题】如何在 Java ME 中将 StringBuffer 转换为 InputStream?【英文标题】:How to convert StringBuffer to InputStream in Java ME? 【发布时间】:2011-12-26 05:24:09 【问题描述】:我是 Java 新手,正在学习 Java ME 开发。我陷入了这种转换。请帮我将StringBuffer
转换为InputStream
。谢谢!
【问题讨论】:
【参考方案1】:查看课程ByteArrayInputStream
。例如:
public static InputStream fromStringBuffer(StringBuffer buf)
return new ByteArrayInputStream(buf.toString().getBytes());
请注意,您可能希望在 getBytes()
方法上使用显式字符编码,例如:
return new ByteArrayInputStream(buf.toString().getBytes(StandardCharsets.UTF_8));
(感谢@g33kz0r)
【讨论】:
return new ByteArrayInputStream(sb.toString().getBytes(StandardCharsets.UTF_8));
【参考方案2】:
看看您是否可以将StringBuffer
转换为byte[]
,然后使用ByteArrayInputStream。
【讨论】:
【参考方案3】:这是我在Java Examples找到的最佳答案
import java.io.ByteArrayInputStream;
import java.io.InputStream;
public class StringBufferToInputStreamExample
public static void main(String args[])
//create StringBuffer object
StringBuffer sbf = new StringBuffer("StringBuffer to InputStream Example");
/*
* To convert StringBuffer to InputStream in Java, first get bytes
* from StringBuffer after converting it into String object.
*/
byte[] bytes = sbf.toString().getBytes();
/*
* Get ByteArrayInputStream from byte array.
*/
InputStream inputStream = new ByteArrayInputStream(bytes);
System.out.println("StringBuffer converted to InputStream");
【讨论】:
以上是关于如何在 Java ME 中将 StringBuffer 转换为 InputStream?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 j2me 中将 12 小时时间转换为 24 小时时间?
如何在诺基亚 Asha 的 J2ME 中将对象转换为字符串?
如何在 J2ME 中将数据发布到服务器?从服务器获取响应无效的 API 密钥