如何在Java ME中将StringBuffer转换为InputStream?

时间:2011-11-10 14:19:48

标签: java java-me inputstream midlet stringbuffer

我是Java的新手,也是学习Java ME开发的人。我陷入了这种转变。请帮我转换StringBufferInputStream。谢谢!

3 个答案:

答案 0 :(得分:21)

查看班级ByteArrayInputStream。例如:

public static InputStream fromStringBuffer(StringBuffer buf) {
  return new ByteArrayInputStream(buf.toString().getBytes());
}

请注意,您可能希望在getBytes()方法上使用显式字符编码,例如:

return new ByteArrayInputStream(buf.toString().getBytes(StandardCharsets.UTF_8));

(谢谢@ g33kz0r)

答案 1 :(得分:8)

看看您是否可以将StringBuffer转换为byte[],然后使用ByteArrayInputStream

答案 2 :(得分:2)

这是我在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");
        }
}