怎样取得class文件的路径

本文介绍在Java中如何通过不同方式获取文件路径,包括工作目录、类加载器路径等,并解释了相对路径和绝对路径的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我们的应用中,很多时候我们需要得到我们加载的类文件的路径,那么我们如何得到呢?
在此我使用了一种方法,也许可以给需要的朋友们提供一种参考.
看我的一个例子代码:

package org.zy.base;

import java.io.File;

public class FileDemo {
public FileDemo() {
super();
}

//----------------------------------------

public String getFileDirectory() {

return null;
}

public String getCurrentWorkingDirectory() {
File f = new File(".");
return f.getAbsolutePath();
}

public String getClassDirectory() {
String cla = this.getClass().getClassLoader().getResource(".").getPath();
return cla;
}

//----------------------------------------------------------------------------

public static void main(String[] args) {
FileDemo filedemo = new FileDemo();
System.out.println(filedemo.getCurrentWorkingDirectory());
System.out.println(filedemo.getClassDirectory());
}
}

运行的结果是:
G:/develop/demo/JSFDemo/.
/G:/develop/demo/JSFDemo/classes/
由此,我们看到,我们可以通过类加载器来取得其在加载类时的类路径.
getCurrentWorkingDirectory()方法得到市当前的工程的工作目录.
以上是我的浅见,以供参考.

java获取路径几种途径- -
jdk如何判断程序中的路径呢?一般在编程中,文件路径分为相对路径和绝对路径,绝对路径是比较好处理的,但是不灵活,因此我们在编程中对文件进行操作的时候,一般都是读取文件的相对路径,
相对路径可能会复杂一点,但是也是比较简单的,相对的路径,主要是相对于谁,可以是类加载器的路径,或者是当前java文件下的路径,在jsp编程中可能是相对于站点的路径,相对于站点的路径,我们可以通过getServletContext().getRealPath("/") 和request.getRealPath("/"):这个是取得站点的绝对路径; 而getContextPath():取得站点的虚拟路径;
2:class.getClassLoader.getPath():取得类加载器的路径:什么是类加载器呢?一般类加载器有系统的和用户自己定义的;系统的ClassLoader就是jdk提供的,他的路径就是jdk下的路径,或者在 jsp编程,比如Tomcat ,取得的类加载器的位置就是tomaca自己设计的加载器的路径,
明白了这些之后,对于文件路径的操作就会相当的清楚,我们在编程的时候,只要想清楚我们所操作的文件是相对于什么路径下的,取得相对路径就可以了.



Pagination.class.getResource("/config.xml").getPath()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值