Android – с помощью Jsoup с файлом html android_asset

Хорошо, я использовал Jsoup для разбора html с удаленных URL-адресов, используя:

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

Теперь я пытаюсь читать локальные html-файлы, которые я сохранил в папке с assets . Я много искал, но я не могу найти решение. На примере Jsoup – загрузите документ из файла , они скажут следующее:

 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 или что-то еще? Пожалуйста, может кто-нибудь указать мне в правильном направлении.

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(); }