|
|
 |
|
 |
获取类的class文件的绝对路径 |
荐 ★★★ |
|
|
|
| 获取类的class文件的绝对路径 |
|
|
| 作者:佚名 文章来源:本站整理 更新时间:2008-10-10 17:08:51 |
|
|
|
在java中,经常要定位某些文件的位置,为了能让程序与物理位置无关,就要使用相对路径。但java中使用相对路径总会遇到一些很麻烦的问题,就是到底相对于哪个参照物的问题。因为我们平时使用相对路径总是相对当前工作目录而言的,但有时需求并非如此。比如,要在一个开发包中使用相对路径,却不知道开发包被其他程序调用时的所在路径,而且特别是在web应用中,很难确定某个文件在整个应用中的相对路径。
所以使用相对路径最好的办法就是让路径相对的参照物是我的开发包或我的应用本身的东西,最好的就是用我开发包中的类的class文件。只要知道了某个class文件的绝对路径,就可以以它为参照物,使用相对路径来定位其他任何文件了。
为了实现这个想法,我写了这个Path类,这个类提供了两个静态公共方法,一个用来定位类的class文件的位置,另一个以某个类为参照物来定位一个相对路径。使用这两个方法,我们可以完全不必理会应用的当前工作路径,随心所欲的根据自己的位置来寻找任何文件。比如在编写某个功能性开发包时,就可以完全不用管调用这个开发包的应用的路径情况,而仅仅根据开发包本身的位置来定位文件,这样很好的实现了封装性,将文件的路径处理完全封闭在了开发包自身之内。
以下是Path类的源代码:
* 创建日期 2004-11-22 * * 更改所生成文件模板为 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释 */package mytools;
import java.io.File;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import java.security.CodeSource;import java.security.ProtectionDomain;
/** * @author 由月 * * 这个类提供了一些根据类的class文件位置来定位的方法。 */public class Path { /** * 获取一个类的class文件所在的绝对路径。 这个类可以是JDK自身的类,也可以是用户自定义的类,或者是第三方开发包里的类。 * 只要是在本程序中可以被加载的类,都可以定位到它的class文件的绝对路径。 * * @param cls * 一个对象的Class属性 * @return 这个类的class文件位置的绝对路径。 如果没有这个类的定义,则返回null。 */ public static String getPathFromClass(Class cls) throws IOException { String path = null; if (cls == null) { throw new Nu[1] [2] [3] [4] 下一页 更多精彩:学习网->http://www.haohao888.com.cn 网络编程->http://www.51wlpc.com 电脑设备->http://www.xpmaster.cn
|
|
|
|
| 文章录入:admin 责任编辑:admin |
|
|
上一篇文章: Smartupload和commons-fileupload介绍与比较 下一篇文章: 控制运行中的application进程实例的个数 |
|
|
|
|
|
|
|
|
|
|
|
|