str=Test.class.getResource("/").getPath();
System.out.println("----"+str);
try {
//str=URLEncoder.encode(str,"UTF-8");
System.out.println("----"+str);
str=URLDecoder.decode(URLDecoder.decode(str,"UTF-8"),"UTF-8");
System.out.println(str);
File file=new File(str);
System.out.println(file.isDirectory());
System.out.println(file.isFile());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
encode多少次必须decode多少次
1, TestURL().class.getResource("").getPath()或TestURL().class.getResource("").getFile()获得的路径,不能被FileReader()和FileWriter()直接应用。
原因是URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理。
例如:空格变为%20。
有解决方法(1),使用repaceAll("%20",' ')替换后,只能解决空格问题。但是路径中包含%和中文就不行了。
有解决方法(2),使用URLDecoder.decode(str,"UTF-8")解码,但是只能解决一部分,若路径中含有+,也是不能解决的,原因是URL并不是完全用URLEncoder.encode(str,"UTF-8")编码的,+号被解码后,却变成了空格。
方法(3),可以解决所有的问题,用TestURL().class.getResource("").toURI().getPath(),但是需要处理URISyntaxException异常,比较麻烦点。
分享到:
相关推荐
### Java调用WinRAR生成压缩文件路径有空格问题解决方案 在进行文件处理时,我们经常需要对文件进行压缩操作以便于传输或者节省存储空间。Java作为一种常用的开发语言,在进行此类操作时通常会通过调用外部命令的...
总而言之,处理Java文件路径中的空格、"+"号和中文字符问题时,要综合考虑编码转换的方式、操作系统的差异性以及方法的适用性。在实践中,建议首先尝试使用toURI().getPath()方法,因为它提供了一种更为全面和稳定的...
Java路径问题在编程中是一个常见的挑战,特别是在处理文件读写、资源加载等操作时。Java的路径处理涉及多个类和方法,如`File`, `URL`, `URI`等,它们在处理路径时有不同的规则和行为。 1. **URL与空格问题**: 当...
Java路径问题在编程中是一个常见的挑战,特别是在处理文件和资源时。Java的路径处理涉及到URL、URI、File等核心类的交互,而这些类在处理包含空格、特殊字符和编码的问题时会有特定的行为。 首先,Java的URL类在...
- **编码问题**:在处理包含特殊字符(如空格)的路径时,需注意其在不同环境下的编码差异,如上例中的`%20`。 - **跨平台兼容性**:不同的操作系统可能使用不同的路径分隔符(如Windows使用`\`,Unix/Linux使用`/`...
### Java去除字符串中的空格与换行符 在Java编程中,经常需要处理文本数据,尤其是在读取文件或网络传输过程中获取的字符串。有时这些字符串可能包含不必要的空格、制表符、换行符等空白字符,这不仅会影响数据的...
在这个项目中,我们将深入探讨如何使用Java来实现一个迷宫的随机生成以及自动寻找路径的方法,同时会涉及树的深度遍历这一核心算法。 首先,迷宫生成通常采用的是深度优先搜索(DFS,Depth-First Search)或广度...
首先,关于MyEclipse 8.5的文件夹名空格问题。在Windows操作系统中,文件夹名中包含空格是允许的,但在某些编程环境下,这可能会导致编译错误或者运行时异常。例如,当MyEclipse尝试编译或运行项目时,路径中的空格...
在这个问题中,一个3x3的面板上通常有8个数字和一个空格,玩家可以通过交换空格与相邻数字来移动它们。游戏的目标通常是将数字从1到8排列,空格位于右下角。 【宽度优先搜索(BFS)】是一种用于寻找图或树中两个...
我们可以检查`args`的长度是否至少为2,分别作为源文件和目标文件的路径。 在实际编码时,还需要考虑错误处理,比如文件不存在、无法读写等异常情况,应当用`try-catch`块捕获并处理。 在项目压缩包中,有"four"和...
url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?解决办法将这些字符转化成服务器可以识别的字符,对应关系如下:URL字符转义 用其它字符替代吧,或用全角的...
Java路径中的空格问题 1、 URLTest.class.getResource(/).getPath(); URLTest.class.getResource(/).getFile(); URLTest.class.getClassLoader().getResource().getPath(); Thread.current...
在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要...
在Java编程语言中,获取文件的绝对路径是一个常见的任务,特别是在处理文件系统操作时。绝对路径是指文件在文件系统中的完整地址,它包含了从根目录到文件的所有层级。以下是一些在Java中获取文件绝对路径的方法: ...
DFS适合解决无解路径较短的问题,但可能会导致大量无效搜索。 2. **A*算法**:A*算法是一种启发式搜索算法,结合了最佳优先搜索和启发式信息。它使用一个评估函数f(n) = g(n) + h(n),其中g(n)是从初始状态到当前...
确保安装路径不含空格,避免后续开发中出现路径相关问题。 3. 安装完成后,需要配置环境变量。将JDK的bin目录添加到系统的Path变量中,一般路径为C:\Program Files\Java\jdk1.8.0_201\bin。这样可以在命令行中直接...
### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在...同时,在处理文件路径时需要注意特殊字符和空格的问题,以免引起不必要的错误。
其中包括windows和linux文件路径的正则表达式;去除空格和斜杠转换的replaceall方法