Javaによる、String⇔InputStreamの相互変換
Javaでプログラムを組んでいると、StringからInputStreamに変換したり、逆に、InputStreamからStringに変換を行う必要があることがあります。
特に、ライブラリを利用していて、そのライブラリの関数の引数の型に合わせなければならないシーンで良く使うTipsですね。
最近は、Webサービスを利用することが多く、その戻り値をxmlで解析する場合には、パーサの引数がInputStream型だったり、それをデバッグ用にString型に変換したりするのに多用しています。。
InputStream型 ⇒ String型
BufferedReader br = new BufferedReader( new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { sb.append(line); } System.out.println(sb.toString()); br.close();
String型 ⇒ InputStream型
String rtnXml = "aaaaaaaaaaaa"; InputStream bais = new ByteArrayInputStream(rtnXml.getBytes("utf-8"));