java.net.UnknownHostException on file://方法

java.net.UnknownHostException on file://方法,java,exception,url,Java,Exception,Url,你知道为什么会这样吗?你的URL格式不正确。而不是file://D/:/您需要文件:///D:///code>--驱动器号和冒号之间没有斜杠。第三个/位于错误的位置,文件url是由文件:///code>构建的。以下是我的解决方案,它实际用于XMLParserv2,我希望这对您有所帮助: failed to open file file://D/:/dev/test_all.html JavaException: java.net.UnknownHostException: D 在路径前面添加

你知道为什么会这样吗?

你的URL格式不正确。而不是
file://D/:/
您需要
文件:///D:///code>--驱动器号和冒号之间没有斜杠。

第三个/位于错误的位置,文件url是由
文件:///code>构建的。以下是我的解决方案,它实际用于XMLParserv2,我希望这对您有所帮助:

failed to open file file://D/:/dev/test_all.html  JavaException: java.net.UnknownHostException: D

在路径前面添加一个额外的斜杠修复了问题。显然地file:///D/:/dev/test_all.html 被认为是合法的。如www.coderanch.com/t/185526/java-developer-SCJD/certification/unknownhosteption所述。格式是protocol://hostname/file 因为主机名是空的,所以最后会有三个斜杠(protocol:///file)。仅放置当前目录文件名无法正确解析。这是基于平台的Java bug吗?路径是根据应用程序的起始目录来解析的。因此,这在一定程度上取决于应用程序的启动位置和使用的文件指示。但这值得一提
protected URL createURL(String filename){

        URL url = null;

        try {
            url = new URL("file://" + System.getProperty("user.dir") +  File.separator + filename);
        } catch (MalformedURLException e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
        }
        return url;
    }