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

18

我是Java的新手,正在学习Java ME开发。在这个转换中我遇到了困难,请帮我将StringBuffer转换为InputStream。谢谢!

3个回答

26

可以查看 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)); - user67416

8

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");
        }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接