奇妙な問題が発生しました...いくつかのWebサイトを確認しましたが、コードに問題は見つかりませんでした...しかし、返されますNullPointerException
...
try {
SAXParserFactory f = SAXParserFactory.newInstance();
SAXParser parser = f.newSAXParser();
XMLReader reader = parser.getXMLReader();
reader.setContentHandler(handler);
System.out.println(uri_this);
reader.parse(new InputSource(url_this.openStream())); // i get nullpointerexception here
} catch (NullPointerException e) {
System.out.println(e);
}
catchステートメントで、私はキャッチNullPointerException
してエラーを出力させました。
小さいファイルのContentHandler
解析済みファイルがあるので問題ありませんが、大きいファイルの場合は機能しないようです。何が問題ですか?または、大きなファイル用にバッファリングが必要ですか?私は無知で、そのコーディングがわからないため、バッファリング以外のすべての可能性を試しました。
私は1つのことを理解しました:入力ソースのオブジェクトは、reader.parse
缶が終了する前に解放されます。なぜそれが起こっているのか分かりません。
は次のLogCat
ようになります(エラーのある部分のみ)。
01-06 15:12:27.145: INFO/System.out(319): http://mywebsite.com/products_xml.php?cPath=43
01-06 15:12:31.094: DEBUG/dalvikvm(319): GC freed 4031 objects / 203424 bytes in 189ms
01-06 15:12:31.505: DEBUG/dalvikvm(100): GC freed 3326 objects / 190192 bytes in 283ms
01-06 15:12:34.274: DEBUG/dalvikvm(319): GC freed 1153 objects / 80432 bytes in 146ms
01-06 15:12:34.646: INFO/System.out(319): java.lang.NullPointerException
コンストラクターのURL「url_this」4mを引数として取得しています。