我之前问过一个关于将存档文件加载到 WebView 的类似问题。
根据教程,我必须将存档文件加载到InputStream,以便我可以在WebArchiveReader.java中使用loadToWebView方法。
但是,在本教程中,编写器使用以下语句获取存档文件:
InputStream is = getAssets().open("TestHtmlArchive.xml");
不幸的是,我想从"资产"文件夹以外的其他地方获取存档文件。
WebView webView = (WebView) rootView.findViewById(R.id.webview_layout);
String url = "http://www.yahoo.com";
webView.loadUrl(url);
String path = getFilesDir().getAbsolutePath() + File.separator + "yahoo" + ".html";
webView.saveWebArchive(path);
webView.loadUrl("file://" + path);
假设我想加载文件"yahoo.html",就像我在上面的代码中保存的那样。
如何将其获取到输入流的实例?
似乎将
文件打开到输入流的正确方法如下所示。
String path = getFilesDir().getAbsolutePath() + File.separator
+ "yahoo" + ".html";
File file = new File(path);
try {
InputStream is = new BufferedInputStream(new FileInputStream(file));
WebArchiveReader wr = new WebArchiveReader() {
@Override
public void onFinished(WebView webView) {
System.out.println("Page loaded");
}
};
if (wr.readWebArchive(is)) {
wr.loadToWebView(webView);
}
} catch (IOException e) {
e.printStackTrace();
}