web-dev-qa-db-ja.com

Java MEでStringBufferをInputStreamに変換する方法は?

私はJavaと学習Java ME開発に慣れていません。この変換で行き詰まりました。StringBufferInputStreamに変換するのを手伝ってください。ありがとう!

17
masiboo

クラスを参照してください ByteArrayInputStream 。例えば:

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

getBytes()メソッドで明示的な文字エンコードを使用したい場合があることに注意してください。例:

_return new ByteArrayInputStream(buf.toString().getBytes(StandardCharsets.UTF_8));
_

(ありがとう@ g33kz0r)

24
maerics

StringBufferbyte[]に取得できるかどうかを確認してから、 ByteArrayInputStream を使用します。

8

これは私が見つけた最良の答えです Javaの例

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