在使用类似这样:
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 =UploadClobHelper.class.getClassLoader().getResource("./../../").getPath();
configPath = java.net.URLDecoder.decode(configPath,"utf-8");
分享到:
相关推荐
首先,`GetPath.exe`很可能是一个执行文件,它可能包含了一个程序,该程序专门设计用于获取或操作文件路径。在Windows操作系统中,`.exe`文件是可执行程序的扩展名。这个程序可能提供图形用户界面(GUI)来让用户...
String path = this.getClass().getResource("/").getPath().replaceAll("%20", ""); System.out.println(path); // 读取配置文件 File file = new File(path + "winRaR/winrar.properties"); InputStream is ...
- `uri.getPath()`可能返回包含空格的路径,而`URL`通常返回"%20"表示空格。 - `new File(String filePath)`能接受正确格式的URI和带空格的相对或绝对路径,否则可能会抛出`FileNotFoundException`。 - `URL/URI`...
在URL编码中,空格通常被转换成"%20",所以可以通过字符串的替换功能,将这些编码替换回空格,从而恢复正确的文件路径。尽管这种方法简单粗暴,但在某些场景下可能会有效。然而,对于包含"+"号和中文字符的路径,...
1. 使用`replaceAll("%20", ' ')`来替换空格,但这仅能处理空格,无法应对其他编码字符。 2. 使用`URLDecoder.decode(str, "UTF-8")`进行解码,但这种方法对某些特殊字符(如"+")处理不彻底,因为URL编码不是完全...
3. 文件包含漏洞:GetPath能识别并测试Web应用中可能存在的文件包含漏洞,防止攻击者通过控制文件路径执行任意代码。 4. 命令注入:GetPath检查Web应用中用户输入是否被不安全地用于执行系统命令,以防止攻击者通过...
- **编码问题**:在处理包含特殊字符(如空格)的路径时,需注意其在不同环境下的编码差异,如上例中的`%20`。 - **跨平台兼容性**:不同的操作系统可能使用不同的路径分隔符(如Windows使用`\`,Unix/Linux使用`/`...
这意味着如果你用相对路径或绝对路径创建了`File`对象,`getPath()`会返回你当初传入的路径字符串。例如,如果你创建了一个`File`对象`File file1 = new File(".\\test1.txt");`,`getPath()`会返回`.\\test1.txt`。...
GetPath 1.23.031是一款经典的文件路径获取工具,它的出现为用户提供了高效快捷的目录扫描功能。这款软件的老版本因其卓越的速度表现而备受赞誉,尤其在处理大量文件或深度目录结构时,其速度优势尤为突出。 在早期...
返回不包含查询字符串的部分URL,即请求的资源标识符,例如`/TEST/test`,这对于构建响应或进行后端逻辑处理非常重要。 综上所述,Java中路径的获取涉及到多个层次,包括JSP、类路径以及Servlet层面,每种方法都有...
getPath.html
请注意,处理 `URL` 时,有时需要将 `%20` 转换为空格,因为URL编码中空格通常被表示为 `%20`。 总的来说,Java 提供了多种方式来获取文件或资源的绝对路径,取决于你所处理的具体情况。选择合适的方法取决于你是否...
* getPath方法返回的路径名可能是相对路径名,可能需要进行处理。 * getAbsolutePath方法返回的路径名可能是当前用户目录的路径名,如果当前用户目录发生变化,返回的路径名也将变化。 * getCanonicalPath方法可能抛...
- 执行查询后,如果查询结果非空,则获取第一条记录中包含实际路径的那一列的值。 6. **关闭Cursor**: - 使用完`Cursor`之后一定要记得关闭它,避免内存泄漏的问题。 7. **返回结果**:最后返回获取到的真实...
本文将详细介绍如何在Java中获取不同类型的路径,包括Web服务器下的文件路径、本地路径以及相对路径。 #### 一、获取Web服务器下的文件路径 在Java Web开发中,获取Web服务器下的文件路径是非常常见的需求。主要有...
这个方法可以返回当前类的相对路径。在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass().getResource("").getPath()` 或 `Test.class.getResource("")....
在Java中,`java.io.File`类提供了许多方法来进行路径操作,如`getAbsolutePath()`获取绝对路径,`toURI().normalize()`规范化路径,以及`getPath()`获取显示路径。 5. **详细用法**:在处理jar包时,可能需要使用`...