`
wh8766
  • 浏览: 35699 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文件路径的转译

阅读更多
文件路径折腾了好久了,参考了很多朋友的方法
目前在实施中还是用的这个方式

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...

如果有更好方法,欢迎指出
分享到:
评论

相关推荐

    transpiling-watch:Bash 实用程序守护进程监视文件更改并对其进行转译

    在/path/to/your/code目录或其子目录中,您必须创建.watch文件,以便为此目录或其子目录中的文件定义转译规则。 没有.watch文件的目录内的文件更改或其祖先目录将被忽略。 .watch文件格式 例子

    Javascript中使用A标签获取当前目录的绝对路径方法

    一谈到路径相关的问题,大家都会往[removed]上想,确实这个对象提供了相当多的路径信息,其中常用的就包括: 1.location.href:当前页面的完整URL 2.location.pathname:当前URL中的路径名 3.location.hash:当前URL...

    dhtmlxVault多文件上传

    - **文件名转译**:上传的文件名会被转译,防止潜在的安全问题,如路径遍历攻击。 - **权限控制**:可以通过服务器端代码控制用户的上传权限,例如限制特定用户只能上传到指定目录。 5. **版本1.6**: - **改进...

    tscpaths:打字稿编译后将绝对路径替换为相对路径

    tscpaths 在编译期间,在打字稿编译(tsc)之后,将绝对路径替换为相对路径。...p-项目项目配置文件(tsconfig.json) -s --src 源代码根目录-o-出转译代码的输出目录(tsc --outDir) 您需要提供-s(--sr

    Reres js本地文件替换

    8. **配置与使用**:Reres的配置文件通常为JSON格式,允许开发者自定义监听的文件路径、更新策略等。在项目中引入Reres,可以通过JavaScript代码进行初始化和调用。 总之,Reres是开发过程中提高效率的好帮手,它...

    webpack-使用配置文件.rar

    2. **output**:输出配置,定义Webpack打包后的文件输出位置和文件名,包括路径和生成的bundle文件名。 3. **module**:模块配置,用于处理不同类型的模块,比如JavaScript、CSS等。这里可以设置loaders(加载器)...

    基于百度开源PaddleSpeech模型的一个电话录音文本转译项目

    # 获取路径下所有文件或文件夹——生成器 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_...

    直接将VBForm转DCL 程序【VB2DCL】

    作 者: 安徽省水利水电勘测设计院 水工三处 LSD ...另外:你对应的默认文件路径可以到 Support\vb2dcl_set.ini 更改 视频演示可以到我的网盘下载: http://e.ys168.com/?santalin 程序截图可以到明经论坛看 ...

    Huffman 编码压缩算法

    当到达叶子节点时,记录的路径就构成了该字符的Huffman编码。对于每个字符,我们都可以用这种方式得到其唯一的编码。 5. **编码字典**:将所有字符及其对应的Huffman编码存储在一个字典中,以便解压时使用。 6. **...

    NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法

    在编程之前,一定要有一个信条:代码是为了减少工作量而生的,重复枯燥的工作是不能容忍的。...四级路径:a.jpg,b.jpg,c.jpg等数量不等的图片文件 思路 1.一个全局变量:数组类型obj。 2.递归遍历目录,是文

    C# winform利用gsdll32转换pdf为图片等各种类型

    - 设置参数:为转换提供输入PDF文件路径,输出图片格式(如JPEG、PNG),以及输出图片质量等相关参数。 - 运行转换:调用`gsapi_run_document`执行PDF到图片的转换。 - 清理:完成转换后,释放资源,调用`gsapi_...

    Server对象与服务器端文件存取

    1. **URL转译**:通过Server对象的MapPath方法,可以将相对URL转换为服务器上的物理路径,这对于访问服务器上的文件非常有用。 2. **执行服务器端脚本**:Server对象的Execute方法允许在一个ASP页面中执行另一个ASP...

    bundler.macro:使用“ babel-plugin-macros”将相对路径与babel和汇总捆绑在一起

    内联捆绑您的JavaScript和TypeScript文件。 ···· 为什么 ...bundler.macro设计为与一起使用,以在构建步骤中捆绑或转译文件。 这个可以 首先,安装插件及其对等项依赖关系( babel-plugin-macros

    JavaWeb基础与SSH框架知识总结.docx

    1. JSP 生命周期:JSP 引擎将 JSP 文件转译为 Servlet 文件,然后编译生成字节码文件,最后将 HTML 页面发送给客户端。在用户再次请求 JSP 页面时,JSP 引擎将直接运行字节码文件,发送 HTML 页面给客户端。 2. ...

    集成电路设计软件-DC实验教程

    工艺库分为目标工艺库、链接库、符号库,并需设置搜寻路径,同时配置Setup文件来存储工艺库的相关信息。 ##### 设计文件的读入与处理 接下来,通过读入HDL设计文件并执行链接操作,将设计整合进DC环境中。设计文件...

    vue_project.zip

    10. **babel.config.js**:Babel的配置文件,用于定义JavaScript的转译规则,将最新的JavaScript语法转换为广泛兼容的ES5,确保在旧版本浏览器中也能运行。 这些文件共同构成了一个完整的Vue项目基础结构,提供了一...

    PDF-HTML.rar_html PDF_pdf html_pdfhtml_xpdf

    在使用这个“PDF-HTML”工具时,用户需要了解如何运行它,输入PDF文件路径,以及指定输出HTML文件的位置。可能还需要了解如何配置参数,以适应特定的转换需求,例如保留原始页面大小、调整图像质量等。 总的来说,...

    Java Server PagesTM(JSPTM) Authoring

    - **指定 WAR 文件名称**:整个 JSP 应用程序被打包为 WAR 文件,需指定其存储路径和文件名。 #### 5. 小结 PowerBuilder 9 的 JSP Target 功能极大地简化了 JSP Web 应用程序的创建过程。通过集成的开发环境和...

    study-element.zip

    此配置文件可能指定了项目的转译规则,如ES6+语法转换为ES5。 3. **vue.config.js**:这是Vue CLI的配置文件,可以自定义Vue项目的一些设置,比如端口、代理、公共路径、webpack配置等。 4. **package-lock.json**...

    Vue工程模板文件 webpack打包配置方法

    - babel-loader:用于将ES6+代码转译成ES5代码,以便在旧版浏览器中运行。 - css-loader:用于加载.css文件,并且可以处理@import和url()等语句。 - less-loader和css-loader:用于处理 LESS 和 CSS 文件。 - ...

Global site tag (gtag.js) - Google Analytics