我正在覆盖自定义类中的android.webkit.WebViewClient
方法shouldInterceptRequest(WebView view, String url)
。在某些情况下,url
参数指向加密的本地文件,格式为file:///path/to/file.extension
。我需要将字符串url
转换为java.io.File
来解密它
如何将url
参数可靠地转换为有效路径以传递到new File(path)
?
答案 0 :(得分:4)
使用以下代码:
new File(new URL(url).toURI());
但这只有在URL不是分层的情况下才有效,这是你的情况。 (例如,如果URL指向JAR文件中的文件,则无法执行此操作。)
答案 1 :(得分:1)
文件构造函数接受URI,请尝试类似:
File file = new File(new URL("file:///path/to/file.extension").toURI());
System.out.println(file);
Output:
\path\to\file.extension