如何在 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 密钥

如何在graphql中将null设置为字段?

有关string stringbuff stringbuild 的区别

String StringBuff StringBuilder 使用。