次のようなものを使用して文字列に変換できることを知っていますInputStream
:
public static String convertStreamToString(ServletInputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
return s.hasNext() ? s.next() : "";
}
これは問題ありませんが、入力ストリームは SAX パーサーを使用して解析した xml であり、パーサーが既にストリームをループしているため、XML を文字列として取得するより高速な方法があるかどうか疑問に思っていました。
すべてのイベントで文字列を連結することで機能させることができますが、このコードはパフォーマンスに非常に敏感であるため、より高速な組み込みの方法があるかどうか疑問に思っていました