



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java文件的路径、绝对路径和规范路径示例说明java.io.File提供了三个方法来获取文件的路径不同写法,这三个方法分别是getPath()、getAbsolutePath()和getCanonicalPath(),下面将进一步说明它们。getPath本方法将文件的抽象路径名转换为一个路径名字符串并返回,返回的字符串使用默认名称分隔符(Windows下为“、”,Unix下为“/”)分隔名称序列中的名称。如果使用URI创建的文件,字符串将移除协议头。getAbsolutePath本方法返回文件的绝对路径名字符串。如果文件对象本身是通过绝对路径名创建的,将简单地返回原来的参数,这与 getPath() 方法一样;如果文件对象是通过相对路径创建的,返回的绝对路径名的解析方式因操作系统类型不同。在 UNIX 系统上,根据用户的当前目录解析相对路径名,可使该路径名成为绝对路径名。在 Microsoft Windows 系统上,首先根据路径名指定的当前驱动器目录(如果有)解析相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录解析它。getCanonicalPath本方法返回规范的文件路径名字符串,建议优先使用。 规范路径名是绝对路径名,并且是惟一的。规范路径名的准确定义与系统有关。如有必要,此方法首先将路径名转换为绝对路径名,这与调用 getAbsolutePath() 方法的效果一样,然后用与系统相关的方式将它映射到其惟一路径名。这通常涉及到从路径名中移除多余的名称(比如 . 和 .)、解析符号连接(对于 UNIX 平台),以及将驱动器号转换为标准大小写形式(对于 Microsoft Windows 平台)。 每个表示现存文件或目录的路径名都有一个惟一的规范形式。每个表示不存在文件或目录的路径名也有一个惟一的规范形式。不存在文件或目录路径名的规范形式可能不同于创建文件或目录之后同一路径名的规范形式。同样,现存文件或目录路径名的规范形式可能不同于删除文件或目录之后同一路径名的规范形式。综合示例注意,当使用URI时,在Windows下的文件路径同样必须以“/”开头,且里面的路径也必须是“/”格式,而不能使用“”,否则报各种错。package com.journaldev.files;import java.io.File;import java.io.IOException;import .URI;import .URISyntaxException;public class JavaFilePath public static void main(String args) throws IOException, URISyntaxException unixFormatTest();windowsFormatTest(); private static void windowsFormatTest() throws IOException, URISyntaxException File file = new File(D:gits/commons-io-2.4/w1.txt);printPaths(file);/ relative pathfile = new File(test.xsd);printPaths(file);/ complex relative pathsfile = new File(D:gits/././gits/commons-io-2.4/w1.txt);printPaths(file);/ URI pathsfile = new File(new URI(file:/D:/gits/commons-io-2.4/w1.txt);printPaths(file);/ 下面的URI将报错,file协议类型文件地址必须使用“/”,在windows下文件路径也必须以“/”开始/ file =new File(new URI(file:/D:gitscommons-io-2.4w1.txt); private static void unixFormatTest() throws IOException, URISyntaxException File file = new File(/Users/pankaj/test.txt);printPaths(file);/ relative pathfile = new File(test.xsd);printPaths(file);/ complex relative pathsfile = new File(/Users/pankaj/./pankaj/test.txt);printPaths(file);/ URI pathsfile = new File(new URI(file:/Users/pankaj/test.txt);printPaths(file); private static void printPaths(File file) throws IOException System.out.println(Absolute Path: + file.getAbsolutePath();System.out.println(Canonical Path: + file.getCanonicalPath();System.out.println(Path: + file.getPath();System.out.println(); 以下输出结果均是在Windows下测试得到的:Absolute Path: D:Userspankajtest.txtCanonical Path: D:Userspankajtest.txtPath: Userspankajtest.txtAbsolute Path: D:gitscommons-io-2.4test.xsdCanonical Path: D:gitscommons-io-2.4test.xsdPath: test.xsdAbsolute Path: D:Userspankaj.pankajtest.txtCanonical Path: D:Userspankajtest.txtPath: Userspankaj.pankajtest.txtAbsolute Path: D:Userspankajtest.txtCanonical Path: D:Userspankajtest.txtPath: Userspankajtest.txtAbsolute Path: D:gitscommons-io-2.4w1.txtCanonical Path: D:gitscommons-io-2.4w1.txtPath: D:gitscommons-io-2.4w1.txtAbsolute Path: D:gitscommons-io-2.4test.xsdCanonical Path: D:gitscommons-io-2.4test.xsdPath: test.xsdAbsolute Path: D:gits.gitscommons-io-2.4w1.txtCanonical Path: D:gitscommons-io-2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络直播活动灯光租赁及现场监督协议
- 家政公司老年看护与生活照料服务合同
- 母婴护理品牌授权合作协议
- 跨境电商数据存储备份及安全防护协议
- 抖音网络直播股权分置及管理协议
- 花园相邻权界定与土地交易合同
- 蔬菜大棚种植项目与农业保险合作协议
- 智能家居设备进出口代理服务与智能家居解决方案合同
- 临床输血医学检验技术
- 《小猫咪和小兔子:动物友谊教学课件》
- 2025年特种设备安全操作实务考试真题卷
- 人教版小学数学六年级下册说课稿
- 2024年北京石景山区公开招聘社区工作者考试试题答案解析
- 地铁事件面试题及答案
- 儿童肺血栓栓塞症诊断与治疗专家共识(2025)解读课件
- 《2025急性冠脉综合征患者管理指南》解读
- 2025年共青团入团积极分子考试测试试卷题库及答案
- 科技安全课件
- 维克多高中英语3500词汇
- 地铁通信工程漏缆卡具安装作业指导书
- 地下室顶板施工电梯加固方案(共4页)
评论
0/150
提交评论