2012-12-28 34 views
5

Ok tôi cũng đã được sử dụng Jsoup để phân tích html từ url từ xa sử dụng:Android - sử dụng Jsoup với android_asset tập tin html

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

bây giờ tôi đang cố gắng để đọc các file html địa phương mà tôi đã được lưu trữ trong thư mục assets . Tôi đã thực hiện rất nhiều tìm kiếm nhưng tôi không thể tìm thấy một giải pháp. Trên Jsoup example - Load a Document from a File, họ nói phải làm như sau:

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

Từ những gì tôi đã đọc, đường dẫn đến tập tin của tôi sẽ là - file:///android_asset/results_2009.html.

enter image description here

Tuy nhiên tôi luôn có được no such file or directory, vì vậy làm thế nào để tôi nhận được một tập tin địa phương vào Jsoup?

Tôi có cần sử dụng AssetManager hoặc gì đó không? Xin vui lòng ai đó có thể chỉ cho tôi đi đúng hướng.

Trả lời

9

Jsoup.parse()overload which takes an InputStream. Bạn có thể sử dụng AssetManager để có được một InputStream đến tập tin của bạn và sử dụng nó:

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

Guess Lẽ ra tôi nên đọc các tài liệu Jsoup API: s – Neil

Các vấn đề liên quan