0

次のようなものを使用して文字列に変換できることを知っています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 を文字列として取得するより高速な方法があるかどうか疑問に思っていました。

すべてのイベントで文字列を連結することで機能させることができますが、このコードはパフォーマンスに非常に敏感であるため、より高速な組み込みの方法があるかどうか疑問に思っていました

4

1 に答える 1

0

SAX を使用する必要がある場合、組み込みの方法はないようです。 SAX パーサーを使用して XML ファイルをエコーするを参照してください。または、可能であればStAXの使用を検討してください。

于 2013-05-06T07:07:11.800 に答える