绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:/usr/test.txt 代表了test.txt文件的绝对路径。http://www.yoodb.com/index也代表了一个URL绝对路径;相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。关于URI,URL,URN等内容,请参考RFC相关文档标准。URLTest.class.getResource("/").getPath();

URLTest.class.getResource("/").getFile();

URLTest.class.getClassLoader().getResource("").getPath();

Thread.currentThread().getContextClassLoader().getResource("").getPath();

等多种相似方式获得的路径,不能被FileReader()和FileWriter()直接应用,原因是URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理。如果文件中URLTest.class.getResource("/").getPath();必须以"/"开头然后再加文件名,而URLTest.class.getClassLoader().getResource("").getPath();不用加"/"可以直接添加文件名。

1)使用repaceAll("%20",' ')替换,但只能解决空格问题,如果路径中包含其他特殊字符和中文就不能解决问题。

2)使用URLDecoder.decode(str,"UTF-8")解码,但是只能解决一部分,若路径中含有+,也是不能解决的,原因是URL并不是完全用URLEncoder.encode(str,"UTF-8")编码的,+号被解码后,则变成空格。

2、newURL();

的参数可以为正确的URI,或者为URI格式的字符串;若字符串是非完整的URI格式,则创建失败。

java.net.URI返回的路径中的空格以“空

格”的形式出现方法为Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath();但是Thread.currentThread().getContextClassLoader().getResource("").toURI().toString();则会以“%20”的形式出现。

java.net.URL返回的一切路径中的空格都是以“%20”的形式出现。URL/URI返回的路径分隔符都是“/”(控制台输出"/")。

1、相对路径(即相对于当前用户目录的相对路径)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProperty("user.dir");

对于一般的java项目中的文件是相对于项目的根目录,而对于web项目中的文件路径,可能是服务器的某个路径,同时不同的web服务器也不同

(tomcat是相对于

tomcat安装目录\bin)。为此,个人认为,在web项目中,最好不要使用“相对于当前用户目录的相对路径”。

然而默认情况下,java.io

包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java

虚拟机的调用目录。

这就是说,在使用java.io包中的类时,最好不要使用相对路径。否则,虽然在SE程序中可能还算正常,但是到了EE程序中,可能会

出现问题。

java 路径中文问题_Java 路径问题解决方案汇集相关推荐

  1. java中的空格_Java路径中的空格问题

    Java路径中的空格问题 1, TestURL().class.getResource("").getPath()或TestURL().class.getResource(&quo ...

  2. java printstream 中文乱码_JAVA的中文字符乱码问题

    JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...

  3. java转换中文乱码_java中文乱码解决之道(四)-----java编码转换过程

    前面三篇博客侧重介绍字符.编码问题,经过这三篇博客各位博友对各类字符编码有了一个初步的了解,要了解java的中文问题这是必需要了解的.可是了解这些仅仅只是一个开始,如下博客将侧重介绍java乱码是如何 ...

  4. java虚拟机资源根目录_Java路径问题最终解决方案—可定位所有资源的相对路径寻址 - java - CSDN技术......

    Java路径问题最终解决方案 -可定位所有资源的相对路径寻址 前言 Java的路径问题,非常难搞.最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题. 我编写了一个方法,比 ...

  5. java url路径中文乱码_Java Url请求方式中文乱码问题解决办法

    jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一 request.setCharacterEncoding("utf-8"); 而get方式请求,若url含非西 ...

  6. java路径怎么找_Java路径怎么找

    有一种情况是装好java了,配置好java环境(在Linux里面比较复杂)了,但忘了路径了?! 解决: 先要申明一下which java是定位不到安装路径的.which java定位到的是java程序 ...

  7. java路径在那_Java 路径

    Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝对路径.所以在Java中文件路径问题无非归结为一点:找基点,也就是在某种环境下(web.j2ee或jar包等)通过合适的 ...

  8. java 插入中文乱码_Java向数据库插入中文出现乱码解决方案

    主要解决方向,JAVA与MYSQL中编码要统一.通常采用UTF-8. 这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的. 1.查询自身MYSQL编码方式 MySQL默认编码是 ...

  9. java model 中文乱码_Java解压zip 解决编码和中文乱码问题

    项目由GBK转成UTF-8 遇到原有解析zip发现中文文件名称乱码问题 net.lingala.zip4j zip4j 1.3.2 package com.multek.ebuy.utils; imp ...

最新文章

  1. BZOJ1965 [Ahoi2005]SHUFFLE 洗牌 快速幂
  2. python error_python error整理
  3. python的前端怎么实现_Bootstrap、Python、Flask 做简单的前端
  4. 解决报错:Can't read private key和./build-aux/cksum-schema-check: Permission denied
  5. Swift中 !和 ?的区别及使用与Swift的Guard语句
  6. SysTick的优先级是高还是低
  7. 全面理解ERC721的实现机制
  8. fastdfs的tracker启动之后一直选举_jraft选举策略
  9. vue中如何设置和清除定时器setInterval
  10. DataQ数据对象为空的解决方法
  11. 信安教程第二版-第17章网络安全应急响应技术原理与应用
  12. 实验吧-杂项-WTF?(python 01代码转图片)
  13. Segment Descriptors, Code- and Data-Segment Descriptor Types
  14. linux的ps命令
  15. javascript与php数据交换之json
  16. 出纳使用的计算机如何管理,出纳杂谈:浅谈出纳工作的创新
  17. python空字典怎么定义_python dict怎么定义
  18. input和output实例
  19. 如何成为数据科学家_成为数据科学家
  20. android edittext背景颜色,Android 设置 EditText 背景颜色、背景图片

热门文章

  1. 一、常见损失函数的用法
  2. 图像几何变换C++实现--镜像,平移,旋转,错切,缩放
  3. DSP-SLAM:具有深度形状先验的面向对象SLAM
  4. SLAM综述(1)-Lidar SLAM
  5. TensorFlow 输出tensor数据
  6. 元宇宙:基础-虚拟现实栈开发和虚拟土地
  7. Blender制作3D模型导出到UE5完整学习教程
  8. LTE-连接态下的DRX
  9. EF 批量 添加 修改 删除
  10. 使用.NET REACTOR制作软件许可证