1. ホーム
  2. java

[解決済み] StringからInputStreamを作成する方法は?重複

2022-06-20 16:55:39

質問

Javaでストリームを扱うのに慣れていないのですが、どのようにして InputStream から String ?

どのように解決するのですか?

はい、これです。

InputStream is = new ByteArrayInputStream( myString.getBytes() );

更新 マルチバイトのサポートには、(Thanks to Aaron Waibel のコメント)。

InputStream is = new ByteArrayInputStream(Charset.forName("UTF-16").encode(myString).array());

ご覧ください ByteArrayInputStream のマニュアルを参照してください。

のcharset引数を使っても安全です。 文字列#getBytes(charset) メソッドで使用することができます。

JDK 7+以降では

java.nio.charset.StandardCharsets.UTF_16

の代わりに、ハードコードされたエンコーディング文字列を使用します。

InputStream is = new ByteArrayInputStream(StandardCharsets.UTF_16.encode(myString).array());