获取当前文件的路径

问题描述:

如何获取.java文件所在的目录?我不想使用System.getProperty("user.dir"),因为这给了我可执行文件的目录,而不是包含这行代码的.java文件的目录。获取当前文件的路径

我需要这个,因为我正在开发一个JSP Web应用程序,并且Java代码在服务器端创建一个.csv文件,并且我希望在客户端使它可用,但是我需要将csv文件,其中.html文件的位置是可以下载的。

我现在的文件夹结构是这样的:

的Java资源 - > SRC
- > Java文件

的WebContent
- > HTML文件

+4

'System.getProperty(“user.dir”)'给你你启动可执行文件的目录。运行时不存在'.java'文件。 –

+0

.class文件会存在,我能以某种方式使用它吗? – sportsfan72

+3

您正在创建该文件,因此您可以控制其创建位置。 –

尝试此询问你。类

String s = getClass().getName(); 
int i = s.lastIndexOf("."); 
if(i > -1) s = s.substring(i + 1); 
s = s + ".class"; 
System.out.println("name " +s); 
Object testPath = this.getClass().getResource(s); 
System.out.println(testPath); 

此代码段我s from this.getClass().getResource("").getPath() returns an incorrect path

源文件可能不存在。 Java是一种编译语言,它运行编译文件,.java文件不是必需的,因此可能不会在运行时出现。

然而,您可以像先前建议的那样获取.class文件的位置。