URL 无法打开文件:\C 文件路径 Java
URL wont open file:\C filepath in Java
我需要使用 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 可以访问文件:\,即使 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:/
.
开始你的 URL
此外,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();
在 Darth Android 建议的基础上添加以下实现:
URL url = new URL(filePath);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(),
url.getPort(), url.getPath(), url.getQuery(),
url.getRef());
URL fileURL = uri.toURL();
InputStream is = fileURL.openStream();
我需要使用 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 可以访问文件:\,即使 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();
在 Darth Android 建议的基础上添加以下实现:
URL url = new URL(filePath);
URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(),
url.getPort(), url.getPath(), url.getQuery(),
url.getRef());
URL fileURL = uri.toURL();
InputStream is = fileURL.openStream();