`

getPath()返回路径包含的“%20”(空格)的处理方法

 
阅读更多
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");
分享到:
评论

相关推荐

    getpath 抓路径

    在这个场景下,"getpath 抓路径"可能是某种程序或脚本用于获取文件路径的方法。让我们深入探讨这个主题。 首先,`GetPath.exe`很可能是一个执行文件,它可能包含了一个程序,该程序专门设计用于获取或操作文件路径...

    java调用winrar生成压缩文件路径有空格问题

    String path = this.getClass().getResource("/").getPath().replaceAll("%20", ""); System.out.println(path); // 读取配置文件 File file = new File(path + "winRaR/winrar.properties"); InputStream is ...

    java 读取文件路径空格、"+"和中文的处理方法

    在URL编码中,空格通常被转换成"%20",所以可以通过字符串的替换功能,将这些编码替换回空格,从而恢复正确的文件路径。尽管这种方法简单粗暴,但在某些场景下可能会有效。然而,对于包含"+"号和中文字符的路径,...

    Java路径问题汇总.pdf

    - `uri.getPath()`可能返回包含空格的路径,而`URL`通常返回"%20"表示空格。 - `new File(String filePath)`能接受正确格式的URI和带空格的相对或绝对路径,否则可能会抛出`FileNotFoundException`。 - `URL/URI`...

    Java中获取文件路径的几种方式

    - **编码问题**:在处理包含特殊字符(如空格)的路径时,需注意其在不同环境下的编码差异,如上例中的`%20`。 - **跨平台兼容性**:不同的操作系统可能使用不同的路径分隔符(如Windows使用`\`,Unix/Linux使用`/`...

    Java路径问题汇总[文].pdf

    对于路径中带有空格的情况,`uri.getPath()`可能仍以空格形式呈现,而URL对象通常会将其编码为"%20"。`new File(String filePath)`构造函数要求传入的路径参数要么是正确的URI格式,要么是包含空格的正确相对或绝对...

    Java中getPath与getAbsolutePath区别.pdf

    这意味着如果你用相对路径或绝对路径创建了`File`对象,`getPath()`会返回你当初传入的路径字符串。例如,如果你创建了一个`File`对象`File file1 = new File(".\\test1.txt");`,`getPath()`会返回`.\\test1.txt`。...

    Web安全测试软件GetPath

    3. 文件包含漏洞:GetPath能识别并测试Web应用中可能存在的文件包含漏洞,防止攻击者通过控制文件路径执行任意代码。 4. 命令注入:GetPath检查Web应用中用户输入是否被不安全地用于执行系统命令,以防止攻击者通过...

    File的getPathgetAbsolutePath和getCanonicalPath的不同.pdf

    * getPath方法返回的路径名可能是相对路径名,可能需要进行处理。 * getAbsolutePath方法返回的路径名可能是当前用户目录的路径名,如果当前用户目录发生变化,返回的路径名也将变化。 * getCanonicalPath方法可能抛...

    显示路径转换方法.rar

    在Java中,`java.io.File`类提供了许多方法来进行路径操作,如`getAbsolutePath()`获取绝对路径,`toURI().normalize()`规范化路径,以及`getPath()`获取显示路径。 5. **详细用法**:在处理jar包时,可能需要使用`...

    JAVA中获取各种路径

    此方法返回客户端请求的当前页面的路径,包括上下文路径和请求路径。例如,在`http://example.com/TEST/test.jsp`中调用此方法将返回`/TEST/test.jsp`。 #### (2) 获取上下文路径:`request.getContextPath()` 这...

    JAVA获取文件绝对路径的方法

    请注意,处理 `URL` 时,有时需要将 `%20` 转换为空格,因为URL编码中空格通常被表示为 `%20`。 总的来说,Java 提供了多种方式来获取文件或资源的绝对路径,取决于你所处理的具体情况。选择合适的方法取决于你是否...

    java获取路径的各种方法

    6. **this.getClass().getClassLoader().getResource("").getPath()**:这种方法可以在任何类中使用,返回的是类路径下的资源文件路径,通常用于加载类路径内的配置文件或资源。 除了以上方法,还有其他获取路径的...

    java路径获得几种方法.txt

    ### Java路径获取方法详解 #### 一、概述 在Java编程中,经常需要处理文件路径问题,特别是当涉及到Web应用程序时。Java提供了多种方法来获取虚拟路径与物理路径,这对于文件操作至关重要。本文将详细介绍几种获取...

    GetPath 1.23.031.rar

    GetPath 1.23.031是一款经典的文件路径获取工具,它的出现为用户提供了高效快捷的目录扫描功能。这款软件的老版本因其卓越的速度表现而备受赞誉,尤其在处理大量文件或深度目录结构时,其速度优势尤为突出。 在早期...

    java项目中获取路径详解

    这个方法可以返回当前类的相对路径。在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass().getResource("").getPath()` 或 `Test.class.getResource("")....

Global site tag (gtag.js) - Google Analytics