web-dev-qa-db-ja.com

Javaで文字列をInputStreamに変換する方法

与えられた文字列:

String exampleString = "example";

どうやってそれをInputStreamに変換するのですか?

788
Iain

このような:

InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8));

これは、 UTF-8 としてエンコードされた元の文字列を表すバイトストリームであるInputStreamが必要であると想定していることに注意してください。

7未満のバージョンのJavaの場合は、StandardCharsets.UTF_8"UTF-8"に置き換えます。

1334
Iain

Apache Commons IO を使用すると、私の生活がはるかに楽になることがわかりました。

String source = "This is the source of my input stream";
InputStream in = org.Apache.commons.io.IOUtils.toInputStream(source, "UTF-8");

ライブラリには、プロジェクトで使用できる一般的に行われるタスクへの他の多くのショートカットも用意されていることがあります。

251
Elijah

StringReader を使用して、 この他のstackoverflow post のソリューションを使用してリーダーを入力ストリームに変換できます。

36
A_M