原文出处:http://hxraid.iteye.com/blog/513468
写程序的时候经常引用外部资源,这个时候通过文件路径定位就相当重要了。
问题提出
在Eclipse工程中写一段代码,想要调用工程中的某一个资源文件。
File file=new File("/EclipseProj/res.txt");
.... //读取文件
一运行,总是说res.txt找不到。只要将路径改成"EclipseProj/tes.txt"即可。不知为什么?
症结所在
没有搞清楚相对路径中' / '的作用,"/Director/File"与"Director/File"完全是两个不同的路径。
下面详细看看文件路径的表示。
关于文件路径的表示一般两种:绝对路径 和相对路径
1、绝对路径
很简单,举个例子 e:/everywork/cwf/WriteFree/resource.txt
这种从根目录开始一级一级目录完全表示出来的形式就是绝对路径。
2、相对路径
(1) WriteFree/resource.txt 形式
这种形式是相对与当前目录 而言的。如果你当前所在的目录是e:/everywork/cwf/,你们系统会在这个目录下寻找WriteFree/resource.txt,自然和绝对路径是一样的。当然,如果当前目录是e:/,这样就在e盘符下的第一级目录中寻找WriteFree/resource.txt,其实也就是e:/WriteFree/resource.txt。
(2) /WriteFree/resource.txt 形式
这种以 '/' 开头的相对路径形式很有迷惑性。
通常我们使用 '/' 来表示根目录 ,/WriteFree/resource.txt就表示resource.txt文件在系统的根目录上的WriteFree目录里。但是这样使用对于初学者来说是具有风险性的,因为要知道这里所指的根目录并不是你的当前目录,而是你资源所在的磁盘的根目录, 也就是所跟目录是c:/ e:/ g:/之类的。那么这种相对路径形式其实是相对于根目录而言,等同于绝对路径e:/WriteFree/resource.txt。
下面我们在Eclipse中写一个读工程内资源文件的例子来看看:
(1)用Eclipse建立一个工程WriteFree放在e:\everywork\cwf目录下,然后在工程中放入资源文件res/resource.txt
(2)在WriteFree工程下编写代码:
File f1=new File("res/resource.txt");
System.out.println("f1:"+f1.getAbsoluteFile());
File f2=new File("/res/resource.txt");
System.out.println("f2:"+f2.getAbsoluteFile());
//运行结果如下: f1: e:\everywork\cwf\WriteFree\res\resource.txt
// f2: e:\res\resource.txt
(3)结果很明显,小小的差别导致f1和f2两个路径截然不同
分享到:
相关推荐
它的快捷链接栏允许用户保存经常访问的文件夹路径,方便一键直达,省去了频繁查找的麻烦。 对于需要处理大量文件的用户,Q-Dir x64的批量操作功能尤为实用。无论是批量重命名还是批量移动,都能在短时间内完成,...
这意味着在开始录制前,你可以选择视频保存的具体位置,避免录制后的查找麻烦。此外,它支持多种视频格式输出,如MP4、AVI、WMV等,用户可以根据需求选择最合适的格式。 在录屏功能方面,oCam提供了全屏录制和...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
其列表都可以手动编辑,一行一个文件路径即可。关闭程序时如果上述两者之一存在删除列表,会问询是否执行。 注意,为避免病毒程序守护,Wsyscheck可以在删除某些文件时可能会采取0字节文件占位的方式来确保删除。...
2. 同步解析(DOM,Document Object Model):将整个XML文档加载到内存中形成树形结构,便于遍历和操作,适合小文件或频繁访问的场景。 3. DOM4J、JDOM、XOM等库提供了Java中处理XML的便利工具。 4. LINQ to XML是...
另一方面它又超越了现在的压缩软件,支持直接对压缩包内文件改名,对压缩包内部搜索,甚至直接在两个压缩包间拷贝文件。 (二)、批量文件改名 Total Commander的文件改名功能足以让专业软件自叹不如。你所...
通过以上内容可以看出,《UNIX环境高级编程》涵盖了UNIX操作系统的基础知识、登录流程、shell程序的选择及文件系统的管理等方面,旨在为读者提供全面深入的理解,帮助他们在UNIX环境中进行高效的编程工作。
这个工具的出现解决了传统文件资源管理器中频繁切换窗口的困扰,减少了在多个文件夹间来回跳转的麻烦。 Clover_Setup 的核心功能在于将单一的文件窗口转换为带有多个标签的界面。用户可以在同一个窗口中打开不同的...
我们需要编辑注册表项来指定新的字体文件路径和使用规则。具体操作步骤如下: 1. **获取新字体文件**:下载或创建适用于WinCE的字体文件,将其复制到设备上合适的目录,例如 `\Windows\Fonts`。 2. **备份注册表**...