2015-02-24 74 views
0

我正在覆蓋自定義類中的android.webkit.WebViewClient方法shouldInterceptRequest(WebView view, String url)。在某些情況下,url參數指向加密的本地文件,格式爲file:///path/to/file.extension。我需要將字符串url轉換爲java.io.File來解密它。
如何可靠地將url參數轉換爲有效路徑以傳遞到new File(path)將URL字符串轉換爲java.io.File

回答

1

使用下面的代碼:

new File(new URL(url).toURI()); 

但如果網址不分層,這是你的情況下,將只工作。 (例如,如果URL指向JAR文件中的文件,則不能這樣做)。

+0

我不認爲這會工作,因爲參數'url'不是'java.net.Url',它是一個' java.lang.String'。 – 2015-02-24 16:55:00

+0

更正,錯過了 – Crazyjavahacking 2015-02-24 16:56:01

0

文件構造函數接受URI,讓你可以試試:

File file = new File(new URL("file:///path/to/file.extension").toURI()); 
System.out.println(file); 
Output: 
\path\to\file.extension