如何获得当前Java文件的路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获得当前Java文件的路径相关的知识,希望对你有一定的参考价值。

如题,比如说,我正在eclipse中编写一个Java文件,然后呢,我想找到这个Java文件的所在的目录,注意,不是classpath的路径,因为class.getresource().getpath()等类似的语句目录是bin,而不会是Java文件所在的路径。要怎么弄呢。还请各位支招。

1、利用System.getProperty()函数获取当前路径:

System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径

2、使用File提供的函数获取当前路径:

File directory = new File("");//设定为当前文件夹

try

System.out.println(directory.getCanonicalPath());//获取标准的路径

System.out.println(directory.getAbsolutePath());//获取绝对路径

catch(Exceptin e)

File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new
File("..")两种路径有所区别。

# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹

# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径

# 至于getPath()函数,得到的只是你在new File()时设定的路径


Java基础知识教程:

参考技术A 绝对路径:
File f = new File(this.getClass().getResource("/").getPath()); 
System.out.println(f);

参考技术B public class Test
public static void main(String[] args)
String path = "Test.java";
File file = new File(path);
System.out.println(file.getAbsoluteFile());



-----
运行结果:
D:\workspaces\studyStruts2\Test.java
不加任何路径,就是指当前路径
望采纳追问

谢谢,这个Test.java的路径上层路径呢?就是D:\workspaces\studyStruts2
怎么得到呢。

追答

不好意思,昨天理解错了,看我今天写的这个,希望对你有帮助,忘采纳
public static void main(String[] args) throws IOException File file1 = new File(""); String projectPath = file1.getAbsolutePath();//获取项目目录 System.out.println(file1.getAbsolutePath()); //D:\workspaces\studyStruts2 File file = new File(Test.class.getName()); String javapath = file.getPath(); System.out.println(javapath); //org.xmh.demo.Test //所以获取java文件的本地绝对路径为: String path = projectPath+"\\src\\"+javapath.replace(".", "\\")+".java"; System.out.println(path); //D:\workspaces\studyStruts2\src\org\xmh\demo\Test.java //这就是java文件的本地绝对路径啦

本回答被提问者和网友采纳

java获取当前文件夹名字

就是我选择一个文件打开可以用System.out.print();输出文件夹的路径。
比如说是C:\Documents and Settings\All Users\Documents\My Pictures
我想只要当前My Pictures文件夹的名字。有没有大虾可以解决的。。。。。。
我只想获取My Pictures这个文件夹名,前面的路径不要。

定义对象File,传入路径参数,File提供方法getName直接获得路径的名称,即你想要的部分
File file = new File("xxxx");
System.out.println(file.getName());

-----------------------------------------------
String getName()
返回由此抽象路径名表示的文件或目录的名称。

参见参考资料

参考资料:http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/index.html

参考技术A String path ="C:\Documents and Settings\
AllUsers\Documents\MyPictures";
File file = new File(path);

String name = file.getNmae();
参考技术B File file3 = new File("e:\\Temple");
String folder = file3.getName();
参考技术C import java.io.File;

public class getFileName
public static void main(String [] args)

String path ="C:\\Documents and Settings\\AllUsers\\Documents\\My Pictures";
File file = new File(path);
String name = file.getName();
System.out.print(name);



输出

My Pictures本回答被提问者采纳
参考技术D 孺子不可教,说的这么明白了还不懂么

以上是关于如何获得当前Java文件的路径的主要内容,如果未能解决你的问题,请参考以下文章

Java如何获取当前类路径

java获得当前文件路径

java 项目如何获取项目所在的物理根路径

java如何获得linux下web路径

java后台怎么获得File标签的绝对路径 我只是做导入功能 拿File标签只是为了给用户想要的视觉效果

c语言如何获得文件当前路径?