在Webview中打开本地Html文件 – Android

我有一个保存在根文件夹中的文件,并试图在web视图中打开它。

这是我的代码保存:

OutputStream outstream = null; outstream = openFileOutput(fileName ,MODE_WORLD_READABLE); /// if file the available for writing if (outstream != null) { /// prepare the file for writing OutputStreamWriter outputreader = new OutputStreamWriter(outstream); BufferedWriter buffwriter = new BufferedWriter(outputreader); /// write the result into the file buffwriter.write(result); } /// close the file 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); <--- 

并在应用程序内部给我一个文件未find错误。

任何见解都有帮助。

Solutions Collecting From Web of "在Webview中打开本地Html文件 – Android"

 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 //show the web page in webview but not in web browser public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl (url); return true; } } 

尝试这个

其实当你打开一个URL使用file:///...
那么这意味着你应该把这个文件保存在assets目录下(比如test.html)。 现在假设你必须访问test.html文件,你需要这样写

 loadURL("file:///android_asset/test.html'); 

path是错误的,假设例外没有被击中。

file:///告诉浏览器寻找/名字

openFileOutput(fileName)告诉应用程序写入<application-files-directory> / fileName

你的url应该是“file:///”+ getFilesDir ()+ File.separator + fileName