好吧,我一直在使用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
。
但是我总是得到no such file or directory
,那么如何将本地文件导入Jsoup?
我需要使用AssetManager
还是其他什么?请有人指出我正确的方向。
答案 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();
}