1. ホーム
  2. java

[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?

2022-03-14 12:37:10

質問

をお持ちの方は java.io.InputStream オブジェクトを生成する場合、そのオブジェクトをどのように処理すればよいのでしょうか。 String ?


仮に InputStream に変換したい。 String 例えば、ログファイルに書き込むことができます。

を取る最も簡単な方法は何ですか? InputStream に変換し、それを String ?

public String convertStreamToString(InputStream is) {
    // ???
}

解決方法は?

これを実現する良い方法は アパッチコモンズ IOUtils をコピーします。 InputStreamStringWriter ...のようなものです。

StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();

あるいは

// NB: does not close inputStream, you'll have to use try-with-resources for that
String theString = IOUtils.toString(inputStream, encoding); 

あるいは ByteArrayOutputStream ストリームとライターを混在させたくなければ