Java代码
this.getClass().getClassLoader().getResource("").getPath()
来获取文件路径时,里面的路径空格会被“%20”代替,这时候如果你用这个获取到的包含“%20”的路径来new一个File时,会出现找不到路径的错误。
在网上找了一下(链接:http://www.cumt.org/blog/493),说是“Java 的一个历史悠久的 bug”。于是有以下官方解决方法:
Java代码
URI uri = new URI(url.toString());
FileInputStream fis = new FileInputStream(uri.getPath())
但有另一种更好的办法,可以把中文路径的问题也一并解决:
Java代码
configPath = java.net.URLDecoder.decode(configPath,"utf-8");
分享到:
相关推荐
- `uri.getPath()`可能返回包含空格的路径,而`URL`通常返回"%20"表示空格。 - `new File(String filePath)`能接受正确格式的URI和带空格的相对或绝对路径,否则可能会抛出`FileNotFoundException`。 - `URL/URI`...
请注意,处理 `URL` 时,有时需要将 `%20` 转换为空格,因为URL编码中空格通常被表示为 `%20`。 总的来说,Java 提供了多种方式来获取文件或资源的绝对路径,取决于你所处理的具体情况。选择合适的方法取决于你是否...
在这种情况下,一个对getContext方法的调用会返回/bank的Servlet环境。 HTTP会话 HTTP是一个没有状态的协议。要建立一个有效的Web服务应用,你必须能够识别一个连续的来自远端的客户机的唯一的请求。随着时间的过去...
常见的需要转码的特殊字符包括空格、引号、括号等。在Java中,可以使用`java.net.URLEncoder`类来进行URL转码。 ```java String url = ...
例如,空格会被编码为"%20"。 6. **提取组件**: 通过`getScheme()`, `getAuthority()`, `getPath()`, `getQuery()`, 和 `getFragment()`方法,可以分别获取URI的各个部分。 7. **异常处理**: 在处理URI时,...