我需要使用 URL(java.net.URL) 打开文件名,如下所示:
file:/C:/RAdev/Basic/src/test/resources/xml Data/test dir/app-config-seed-data.xml
我要阅读以下java代码
fileURL = new File(filePath).toURI().toURL();
is = fileURL.openStream();
由于 Windows 可以访问 file:\,因此即使 URL 也应该能够打开。
目前使用的解决方法:
public static final String FILE_URL_PREFIX = "file:";
if (filePath.contains(FILE_URL_PREFIX)) {
filePath = filePath.replaceAll("file:/", "");
System.out.println("Modified filepath - " + filePath);
}
fileURL = new File(filePath).toURI().toURL();
is = fileURL.openStream();
是否需要上述解决方法,请告诉我是否有其他方法来获得 URL 访问的好处。我对 java 中的 URL/URI 很陌生,非常感谢您的帮助。
谢谢。
最佳答案
file:/C:/
不是有效的文件 URL。尝试以 file://C:/
开头您的网址。
此外,File(String)
构造函数不采用 URL,而是采用本地文件路径。如果您有一个要解析的字符串形式的 URL,请使用 URL(String)
构造函数:
URL fileURL = new URL("file://C:/RAdev/Basic/src/test/resources/xml Data/test dir/app-config-seed-data.xml");
is = fileURL.openStream();
关于java - URL 无法打开文件 :\C filepath in Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36089168/