Intereting Posts
SecurityException: разрешение отклонено (отсутствует разрешение INTERNET?) Просмотр списка Scroll Not Smooth AdjustResize не работает с CoordinatorLayout Как распечатать APK через командную строку в Windows Кнопка Onclick Listener в прилагаемых макетах Android – сохранение изображения во внутреннем хранилище Дополнительные намерения дублируются при использовании FLAG_UPDATE_CURRENT в PendingIntent при создании уведомлений об андроидах Как Android-приложение может получать звонки без разрешения? Howto в eclipse отлаживает файл obfuscated apk Proguard Эквивалент LocalBroadcastManager без поддержки библиотеки Android Android Maven Не удалось найти инструмент 'aapt' Фоновый поток блокировки UI в течение нескольких секунд Как проверить доступность Интернета или нет при запуске приложения в Android? Set android: textColor с программным обеспечением с возможностью рисования? Удалите SMS с android по 4.4.4 (Затронутые строки = 0 (Zero), после удаления)

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