5

さて、私はJsoupを使用してリモートURLからhtmlを解析しています:

Jsoup.connect(url).timeout(20000).get();

assets現在、フォルダーに保存したローカルの html ファイルを読み込もうとしています。私は多くの検索を行いましたが、解決策が見つかりません。Jsoup の例 - Load a Document from a Fileでは、次のことを行うように言われています。

File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

私が読んだことから、ファイルへのパスは - になりますfile:///android_asset/results_2009.html

ここに画像の説明を入力

しかし、私は常に を取得no such file or directoryします。ローカル ファイルを Jsoup に取得するにはどうすればよいですか?

私は何かを使用する必要がありますAssetManagerか?誰かが私を正しい方向に向けることができます。

4

1 に答える 1

9

Jsoup.parse()InputStreamを取るオーバーロードがあります。を使用してファイルにAssetManagerを取得し、それを使用できます。InputStream

InputStream is=null;

try {
    is=getAssets().open("results_2009.html");
    Document doc = Jsoup.parse(is, "UTF-8", "http://example.com/");
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if(is!=null)
        is.close();
}
于 2012-12-28T14:52:42.780 に答える