写程序的时候经常引用外部资源,这个时候通过文件路径定位就相当重要了。
问题提出
在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两个路径截然不同
分享到:
相关推荐
ASP生成静态Html文件技术杂谈.pdf
当你在命令行中看到类文件的加载路径时,你会发现这些类文件最初来自于`JRE/lib`下的`.jar`文件,但实际上,它们是通过`JDK`的安装路径被引入的,这一点通过路径中的`j2sdk1.4.2_03`字样可以明确看出,证实了`JRE`...
在编程世界中,程序设计是一项核心技能,涵盖了多种技术和方法。程序设计经验杂谈涉及到的不仅仅是语法...在"程序设计经验杂谈"的资料中,你将找到更多关于这些话题的深入探讨和实用建议,帮助你在编程旅程中不断成长。
尼康优化校准机内设置杂谈深入探讨了RAW与JPEG两种图像格式之间的根本区别,这对于摄影爱好者和专业摄影师来说至关重要。RAW格式保留了传感器捕获的原始数据,提供了广泛的后期调整空间,包括色彩、曝光、对比度和...
Java学习杂谈系列涵盖了许多关于Java编程的基础概念和机制,以下是对这些知识点的详细解读: 1. **动态加载机制**: 动态加载机制是Java语言的一个关键特性,它使得程序在运行时才能确定哪些类需要加载。当你声明...
ERP实施杂谈ERP实施杂谈
本文档《为己杂谈学习精要.doc》主要探讨了个人修养、企业文化、管理理念以及如何在职业生涯中找到良好发展平台的主题。作者引用了老子的哲学思想,并结合《论语》中的教诲,阐述了一种既考虑个人利益又兼顾他人和...
【压缩包子文件的文件名称列表】中的"杂谈HP0-091考试 .doc"表明文档包含了关于这个主题的详细讨论。这个文档可能包含了考试大纲解析、各个部分的权重分析、推荐的学习资源、模拟试题、解题方法、考试注意事项,甚至...
### 高并发架构设计 #### 一、高并发架构的核心挑战及应对策略 高并发架构设计的核心在于如何处理大量的并发请求,确保系统的稳定性和高效性。面对数据量大、访问突增、流量大等问题,通常需要采取一系列的技术...
报告名为“地产杂谈系列之五:细数主流商管企业,经营发展各有千秋”,说明报告旨在详细探讨当前中国地产行业中商业物业管理(商管)企业的经营发展状况,并对其主要企业进行比较分析。从报告内容来看,这份文档是一...
地产行业杂谈系列之十六:社区增值服务模式初探
本杂谈将围绕Spring框架的多个重要方面展开讨论,涉及事务处理、MVC模式、AOP实现、资源管理以及JDBC与ORM的支持等内容。 在讨论Spring杂谈之前,有必要对IoC(控制反转)和DI(依赖注入)的概念进行说明。IoC是一...
"程序设计经验杂谈"的资料可能涵盖以上提到的一些方面,通过阅读其中的".chm"文件,你可以深入了解更多具体的实践经验和技巧,进一步提升你的编程水平。记住,编程不仅是技术的运用,更是解决问题的艺术,不断学习和...
这样的集合可能包括数据处理、文件操作、网络通信、日志记录等多个方面的工具。标题和描述中的"杂谈,一些工具类的集合"可能指的是一个涵盖多种工具的资源包,旨在解决日常开发中的各种问题。 首先,我们来探讨一下...
### Java杂谈:深入理解Java的关键概念 #### 动态加载机制:理解OOP思想的桥梁 Java作为一种纯粹的面向对象编程语言,其设计之初便致力于简化和优化面向对象编程(OOP)的概念,使之更加直观易懂。动态加载机制便是...
内容需求方面,创造吸引潜在客户的广告形式至关重要。这可能包括提供超值的视觉体验,以刺激消费者的购买欲望。同时,针对老客户的激励政策也能促进客户基数增长。 最后,广告与活动的配合应以提高流量转化为目标。...