Java: File.toURI (). ToURL () no arquivo do Windows
O sistema que estou executando é o Windows XP, com o JRE 1.6.
Eu faço isso :
public static void main(String[] args) {
try {
System.out.println(new File("C:\\test a.xml").toURI().toURL());
} catch (Exception e) {
e.printStackTrace();
}
}
e eu entendo isso:file:/C:/test%20a.xml
Como é que o URL fornecido não tem duas barras antes doC:
? eu esperavafile://C:...
. Isso é comportamento normal?
EDITAR:
Do código-fonte Java: java.net.URLStreamHandler.toExternalForm (URL)
result.append(":");
if (u.getAuthority() != null && u.getAuthority().length() > 0) {
result.append("//");
result.append(u.getAuthority());
}
Parece que a parte de Autoridade de uma URL de arquivo é nula ou vazia e, portanto, a barra dupla é ignorada. Então, qual é a parte de autoridade de uma URL e ela está realmente ausente do protocolo de arquivos?