相关疑难解决方法(0)

Java:Windows文件上的File.toURI().toURL()

我正在运行的系统是Windows XP,JRE 1.6.

我这样做:

public static void main(String[] args) {
    try {
        System.out.println(new File("C:\\test a.xml").toURI().toURL());
    } catch (Exception e) {
        e.printStackTrace();
    }       
}
Run Code Online (Sandbox Code Playgroud)

我明白了 file:/C:/test%20a.xml

为什么给定的URL之前没有两个斜杠C:?我期待file://C:....这是正常的行为吗?


编辑:

来自Java源代码:java.net.URLStreamHandler.toExternalForm(URL)

    result.append(":");
    if (u.getAuthority() != null && u.getAuthority().length() > 0) {
        result.append("//");
        result.append(u.getAuthority());
    }
Run Code Online (Sandbox Code Playgroud)

似乎文件URL的Authority部分为null或为空,因此跳过双斜杠.那么URL的权限部分是什么?它是否真的不存在于文件协议中?

java url uri filepath file-uri

16
推荐指数
1
解决办法
3万
查看次数

标签 统计

file-uri ×1

filepath ×1

java ×1

uri ×1

url ×1