`
nddjava
  • 浏览: 108922 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java路径空格问题

 
阅读更多
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调用winrar生成压缩文件路径有空格问题,今日作了一个项目需要把文件压缩成rar压缩包,一边客户下载,但是路径很有可能存在空格,造成winrar命令把它看成两个元素,无法解析出正确的路径,仔细研究下,终于解决...

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

    今天小编就为大家分享一篇java 读取文件路径空格、"+"和中文的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java小游戏迷宫游戏自动生成路径自动找路

    java小游戏迷宫游戏自动生成路径自动找路 eclipse编译,解压即可打开!欢迎下载学习,如有问题私信看到会回复。这里需要五十个字,所以后面这段都是为了补充字数的,并没有什么意思。

    Java路径问题解决方案汇集

    Java路径中的空格问题  1、 URLTest.class.getResource(/).getPath();  URLTest.class.getResource(/).getFile();  URLTest.class.getClassLoader().getResource().getPath();  Thread.current...

    文件路径的正则表达式

    其中包括windows和linux文件路径的正则表达式;去除空格和斜杠转换的replaceall方法

    java修改文件属性

    1.当Java.io中,如果文件的操作的时候,判断是否隐藏用File.ishiden() 判断是否只读,可用File.can...因为路径file.getAbsolutePath()中可能会还有空格,所以必须用引号把它括起来,当作一个参数。这样就可以实现了

    java jdk8 学习笔记

    1.java程序中的空格只能是半角空格符或者tab空格符 2.一个.java文档可定义多个类,但是只能有一个公开类,而且主文档名必须与公开类名相同。 3. 4.echo %path% 是系统环境变量附加用户变量,set path="路径” %...

    Java面试 Java超级经典100问题 Java高级开发工程师必备 Java面试宝典

    Java面试 Java超级经典100问题 Java高级开发工程师必备 Java面试宝典 1.赋值运算函数.2.单例设计模式.3.二维数组中查找目标值、4.替换字符串中的空格。5.从尾到头打印链表.6.由前序和中序遍历重建二叉树.7.用两个栈...

    Java课程设计案例精编:Java课程设计案例精编.ISO

    (3) 也可以象书中介绍的那样,在使用javac命令之前使用set classpath=c:\temp设置类路径(等号前后不能有空格),然后即可直接使用javac *.java编译命令和java *运行命令。 (4) 但是应注意,在使用JDK 1.4时,个别程序...

    FlashPaper+JAVA实现在线预览功能

    * 路径以及文件名不能带空格,否则将无法转换成功 * 需要安装FlashPlayer,以便预览SWF文件 * 转换功能需要FlashPaper的支持,需要将FlashPaper安装到C盘 使用FlashPaper和JAVA可以实现在线预览功能,但需要注意...

    跟我学Java-day01-java基础语法.pdf

    1.1 Java语言发展史(了解) 语言:人与人交流沟通的表达方式 ...注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。 具体安装步骤请参见《JDK下载及安装说明文档》 1.4.3 JDK的安装目录介绍

    用Java实现九宫重排问题

    九宫重排问题是一个经典的智力游戏,它涉及到在3x3的方格中移动数字1至8以及一个空格,目标是通过移动空格使得数字形成有序的顺序。 解决这个问题通常采用以下方法: A*算法:这是一种启发式搜索算法,它结合了最佳...

    Java实现的迷宫

    1.按空格键,或enter键进入迷宫界面 2.方块移动: 按下“a”,“s”,“d”,“w” 或“A”,“S”,“D”,“W” 3.切换提示路径: 按下“g”或“G” 4.保存当前位置: 按下“b”或“B” 5.保存当前位置...

    JAVA--达内培训笔记

    javadoc -d 路径(指定注释文档的保存路径) xxx.java 文档注释一般写在类定义之前,方法之前,属性之前。 在文档注释中可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注释符号要写在类定义...

    Java课件以及代码

     包含javac编译器的路径变量设置不正确。  HelloWorldApp.java:3: Method printl (java.lang.String) not found in class java.io.PrintStream. System.out.printl (“Hello World!”); ^  方法名printl不...

    绿盾解密无需申请审批,绿盾加密文件解密的工具,使用java -jar fileDecrypt-1.0.1.jar 需要解密的文件

    使用方法:java -jar fileDecrypt-1.0.1.jar <文件路径|文件夹路径> ... 如果是路径包含空格,可以将路径用英文双引号包起来,即 java -jar fileDecrypt-1.0.1.jar "C:\Program Files\test.txt" 2. 需要java8及其以上

    FileUploadUtil.java(文件上传工具类)

    删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    DELETE_PATH:配置程序运行结束后欲删除文件的路径,如想删除多个文件夹下的文件,路径之间用逗号隔开,勿加空格,比如:E:\test\rootfile,E:\test\unZip; 4. 注意事项: 本解压合并程序处理文件的逻辑如下: ...

    C#/Java连接sqlite与使用技巧

    2)将下载的驱动加入eclipse项目的built path中 ... import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.State

    自动设置java环境变量

    源代码来自http://blog.163.com/scau_09se01/blog/static/1817110742011214599452 本人在其基础上进行了些许修改,添加JAVA_HOME环境变量,解决了jdk安装路径包含空格时不能正确获取信息的bug

Global site tag (gtag.js) - Google Analytics