文件路径折腾了好久了,参考了很多朋友的方法
目前在实施中还是用的这个方式
URL base = PropertiesReader.class.getResource("/");
String filePath = base.getFile()+"../proxool.xml";
结果发现地址被URL类给编码了,空格都变成%20
D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/xml1/WEB-INF/classes/如果有汉字的话 汉字应该也会被编码(没有测试)
这就成了路径错误异常了..
API中对此的解释为:
引用
URL 类自身并不根据 RFC2396 中定义的转义机制编码或解码任何 URL 部分。由调用方对任何需要在调用 URL 前进行转义的字段进行编码,并对从 URL 返回的任何经过转义的字段进行解码。进一步而言,由于 URL 不懂 URL 转义,所以它不会识别同一 URL 的对等编码和解码形式。
例如,对于这两个 URL:
http://foo.com/hello world/ 和 http://foo.com/hello%20world
将被视为互不相等。
也可以使用 URLEncoder 和 URLDecoder 类,但是只适用于 HTML 形式的编码,它与RFC2396 中定义的编码机制不同。
对于URL和RUI的简单说明
URI 是统一资源标识符,而 URL 是统一资源定位符。因此,笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。
参考API中URI
使用URI进行解码测试
URL base = PropertiesReader.class.getResource("/");
String filePath = base.getFile()+"../proxool.xml";
try {
URI u = new URI(filePath);
System.out.println(u.getPath());
System.out.println(base.getPath());
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
倒是可以得到正确的输出
D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps...
如果有更好方法,欢迎指出
分享到:
相关推荐
在/path/to/your/code目录或其子目录中,您必须创建.watch文件,以便为此目录或其子目录中的文件定义转译规则。 没有.watch文件的目录内的文件更改或其祖先目录将被忽略。 .watch文件格式 例子
tscpaths 在编译期间,在打字稿编译(tsc)之后,将绝对路径替换为相对路径。...p-项目项目配置文件(tsconfig.json) -s --src 源代码根目录-o-出转译代码的输出目录(tsc --outDir) 您需要提供-s(--sr
# 获取路径下所有文件或文件夹——生成器 import os def get_file_name(dir_path:str): # 二阶文件夹数据获取 file_list = os.listdir(dir_path) for dir in file_list: file_dir_path = os.path.join(dir_...
作 者: 安徽省水利水电勘测设计院 水工三处 LSD ...另外:你对应的默认文件路径可以到 Support\vb2dcl_set.ini 更改 视频演示可以到我的网盘下载: http://e.ys168.com/?santalin 程序截图可以到明经论坛看 ...
在编程之前,一定要有一个信条:代码是为了减少工作量而生的,重复枯燥的工作是不能容忍的。...四级路径:a.jpg,b.jpg,c.jpg等数量不等的图片文件 思路 1.一个全局变量:数组类型obj。 2.递归遍历目录,是文
内联捆绑您的JavaScript和TypeScript文件。 ···· 为什么 ...bundler.macro设计为与一起使用,以在构建步骤中捆绑或转译文件。 这个可以 首先,安装插件及其对等项依赖关系( babel-plugin-macros
JSP页面第一次被请求时,会被JSP引擎转译成Servlet的Java文件,然后再被编译成字节码文件执行。JSP指令标记为JSP页面转译提供整个页面的相关信息。 include指令用于在JSP页面静态插入一个文件,被插入的文件可以...
node-babel-样板 这个存储库代表一个文件夹和配置样板,我发现它对于编写客户端服务节点js应用程序很有用...可选:正如博客文章所建议的,在node_modules和src目录之间创建符号链接会导致更清晰的文件路径。 享受 执照
工具清单: ...4.修改smali文件,如果读smali吃力可以使用jadx\bin\jadx-gui.bat工具转译成java 使用工具Notepad++ 查找替换修改都非常好用,官网可以下载,导入smali.xml模板对smali语言高亮着色。 ...
ES6转译(通过Babel),包括ES6模块 ES6示波器吊装/摇树(通过汇总) 传统静态require捆绑 缩小(通过UglifyJS) 源图(仅ES6转换需要) “安全”,浏览器内执行以及对没有CLI可用的环境(敏感环境,
css / content的简单目录结构源代码映射使您的js和css可调试,尽管进行了所有的转译和绑定配置脚本以包含特定于环境的设置,例如API url 自动生成的清除缓存文件路径,因此您可以告诉浏览器永远缓存资产产生干净的...
限定scripts.compile如上在#1的命令,并使用npm run compile为scripts.prepublish出版之前自动transpiles 在devDependencies下添加babel ,以便 npm 在运行任何脚本之前将babel可执行文件添加到路径中(特别是上面...
转译TypeScript文件 自动重新启动src文件夹中文件的更改 指南 该入门工具包假定您使用的是Yarn而不是NPM。 安装依赖项 yarn 在开发中运行应用 yarn dev 构建生产应用 yarn build 在生产中运行应用 yarn start
那么需要这个函数转译: 复制代码 代码如下: //这个函数接收的都是路径,所以判断了文件扩展名 function shell2txt($a){ $ary = explode(‘/’, $a); foreach($ary as $k => $v){ if(strpos($v, ‘?\\’) !== false)...
创建代码镜头前的每个形容,它,套件和测试在测试文件的函数调用。 伦泽它,测试功能可显示最近一次测试的结果,可用于运行特定的测试(采用摩卡--grep模式-测试标题必须是唯一的,否则一个以上的测试将被执行)。 ...
在基于软件工程的软件开发过程中,编码往往只是一项语言转译工作,即把详细设计中的算法描述语言转译成某种适当的高级程序设计语言或汇编语言。 为了方便程序调试,针对基本模块的单元测试也往往和编码结合在一起...