java 路径中文问题_Java 路径问题解决方案汇集
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(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 路径问题解决方案汇集相关推荐
- java中的空格_Java路径中的空格问题
Java路径中的空格问题 1, TestURL().class.getResource("").getPath()或TestURL().class.getResource(&quo ...
- java printstream 中文乱码_JAVA的中文字符乱码问题
JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...
- java转换中文乱码_java中文乱码解决之道(四)-----java编码转换过程
前面三篇博客侧重介绍字符.编码问题,经过这三篇博客各位博友对各类字符编码有了一个初步的了解,要了解java的中文问题这是必需要了解的.可是了解这些仅仅只是一个开始,如下博客将侧重介绍java乱码是如何 ...
- java虚拟机资源根目录_Java路径问题最终解决方案—可定位所有资源的相对路径寻址 - java - CSDN技术......
Java路径问题最终解决方案 -可定位所有资源的相对路径寻址 前言 Java的路径问题,非常难搞.最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题. 我编写了一个方法,比 ...
- java url路径中文乱码_Java Url请求方式中文乱码问题解决办法
jsp中post方式请求一般不会乱码,如果乱码加上这句: 解决办法一 request.setCharacterEncoding("utf-8"); 而get方式请求,若url含非西 ...
- java路径怎么找_Java路径怎么找
有一种情况是装好java了,配置好java环境(在Linux里面比较复杂)了,但忘了路径了?! 解决: 先要申明一下which java是定位不到安装路径的.which java定位到的是java程序 ...
- java路径在那_Java 路径
Java中不存在标准的相对路径,各种相对路径取资源的方式都是基于某种规则转化为绝对路径.所以在Java中文件路径问题无非归结为一点:找基点,也就是在某种环境下(web.j2ee或jar包等)通过合适的 ...
- java 插入中文乱码_Java向数据库插入中文出现乱码解决方案
主要解决方向,JAVA与MYSQL中编码要统一.通常采用UTF-8. 这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的. 1.查询自身MYSQL编码方式 MySQL默认编码是 ...
- java model 中文乱码_Java解压zip 解决编码和中文乱码问题
项目由GBK转成UTF-8 遇到原有解析zip发现中文文件名称乱码问题 net.lingala.zip4j zip4j 1.3.2 package com.multek.ebuy.utils; imp ...
最新文章
- BZOJ1965 [Ahoi2005]SHUFFLE 洗牌 快速幂
- python error_python error整理
- python的前端怎么实现_Bootstrap、Python、Flask 做简单的前端
- 解决报错:Can't read private key和./build-aux/cksum-schema-check: Permission denied
- Swift中 !和 ?的区别及使用与Swift的Guard语句
- SysTick的优先级是高还是低
- 全面理解ERC721的实现机制
- fastdfs的tracker启动之后一直选举_jraft选举策略
- vue中如何设置和清除定时器setInterval
- DataQ数据对象为空的解决方法
- 信安教程第二版-第17章网络安全应急响应技术原理与应用
- 实验吧-杂项-WTF?(python 01代码转图片)
- Segment Descriptors, Code- and Data-Segment Descriptor Types
- linux的ps命令
- javascript与php数据交换之json
- 出纳使用的计算机如何管理,出纳杂谈:浅谈出纳工作的创新
- python空字典怎么定义_python dict怎么定义
- input和output实例
- 如何成为数据科学家_成为数据科学家
- android edittext背景颜色,Android 设置 EditText 背景颜色、背景图片