Android - 使用Jsoup和android_asset html文件

时间:2012-12-28 14:33:23

标签: android jsoup

好吧,我一直在使用Jsoup来解析远程网址中的html:

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

我现在正在尝试读取存储在assets文件夹中的本地html文件。我做了很多搜索,但我找不到解决方案。在Jsoup example - 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

enter image description here

但是我总是得到no such file or directory,那么如何将本地文件导入Jsoup?

我需要使用AssetManager还是其他什么?请有人指出我正确的方向。

1 个答案:

答案 0 :(得分:9)

Jsoup.parse()有一个overload which takes an 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();
}