Java: File.toURI (). ToURL () w pliku Windows
System, na którym pracuję, to Windows XP z JRE 1.6.
Robię to :
public static void main(String[] args) {
try {
System.out.println(new File("C:\\test a.xml").toURI().toURL());
} catch (Exception e) {
e.printStackTrace();
}
}
a ja to rozumiem:file:/C:/test%20a.xml
Skąd dany URL nie ma dwóch ukośników przedC:
? oczekiwałemfile://C:...
. Czy to normalne zachowanie?
EDYTOWAĆ :
Z kodu źródłowego Java: java.net.URLStreamHandler.toExternalForm (URL)
result.append(":");
if (u.getAuthority() != null && u.getAuthority().length() > 0) {
result.append("//");
result.append(u.getAuthority());
}
Wygląda na to, że część uprawnień URL pliku jest pusta lub pusta, a więc podwójny ukośnik jest pomijany. Więc jaka jest część autorytetu adresu URL i czy naprawdę nie występuje w protokole pliku?