在一个根文件夹中保存了一个文件,我想在webview中打开它。
这是我保存文件的代码:
OutputStream outstream = null;
outstream = openFileOutput(fileName ,MODE_WORLD_READABLE);
if (outstream != null) {
OutputStreamWriter outputreader = new OutputStreamWriter(outstream);
BufferedWriter buffwriter = new BufferedWriter(outputreader);
buffwriter.write(result);
}
outstream.close();
} catch (java.io.FileNotFoundException e) {
System.out.println("File not found in the writing...");
} catch (IOException e) {
System.out.println("In the writing...");
}
然后又回调文件:
fileView.getSettings().setJavaScriptEnabled(true);
fileView.loadUrl("file:///" + name); <---
然后程序中我就获得错误提示说不能找到这个文件。
是代码方面出现问题了吗?
事实上,当你打开一个URL时,要使用file:///...
也就是说你应该在assets目录(test.html)下保存文件。现在假设你需要访问test.html文件,你应该这样写:loadURL("file:///android_asset/test.html');
试一下这个方法:
WebView mWebView=(WebView)findViewById(R.id.mWebView);
mWebView.loadUrl("file:///book.html");
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setSaveFormData(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.setWebViewClient(new MyWebViewClient());
private class MyWebViewClient extends WebViewClient
{
@Override
//在webview中显示web页面,但不是在web浏览器
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl (url);
return true;
}
}