【摘要】 java 应该如何找到正确的文件路径
应该有很多人在找寻java正确的文件路径时很头痛,我也是,之前搞好了后来动了一下又不行了,所以痛定思痛,决定记录下来。
1. 普通情况(传统 IO 等)
有可能直接写对应的文件名就行了,但是既然写了博客就应该认真点儿。
获取当前项目的工作根目录,因为没有获得根目录我们不知道他是从哪个位置开始查找,可能还没有听懂我的意…
java 应该如何找到正确的文件路径
应该有很多人在找寻java正确的文件路径时很头痛,我也是,之前搞好了后来动了一下又不行了,所以痛定思痛,决定记录下来。
1. 普通情况(传统 IO 等)
有可能直接写对应的文件名就行了,但是既然写了博客就应该认真点儿。
获取当前项目的工作根目录,因为没有获得根目录我们不知道他是从哪个位置开始查找,可能还没有听懂我的意思,没事儿,我放两张图介绍。
这是我正在运行的文件(接下来所有代码都在这个文件编译),可以看到大概路径。
获取默认根目录的方式有两种:
//第一种
File f = new File("");
System.out.println(f.getAbsolutePath());
//第二种,通过配置文件获得
System.out.println(System.getProperty("user.dir"));
可以看到这里只获取了到上图红框部分,那么如果你的文件直接放maven文件夹目录下的话就可以直接用文件名找到。如果放在src文件夹下,则路径就需要做如下改变,所以可以看到文件的路径和工作根目录有必然的联系。
到这里应该对这个工作根目录有了一定了解了,如果没有的话那就请记住怎么操作就行。
//路径
/oop-maven/文件名
**2.建立一个资源文件 **
这样这个文件夹就变成了一个资源包,将需要的文件放入其中,编译的时候会自动整合生成一个target包,里面有编译的class文件也有你需要的资源文件。这些都在target包里面的classes包中。
然后他就会通过你的路径,以classes文件为起点开始搜索,自动在classes包里面找,
对于大部分文件都可以放入其中,并且有相当轻便的路径获取方式。
举个例子:
下面的close.png是我要获取的文件。
相对路径如下:
/loginImages/close.png
下面是如何获取对应文件URL的方法
(注意下面的LoginFrame是我当前要执行改代码所在的类的类名,需要稍作修改)
//获取路径的相关代码(注意LoginFrame是我当前要执行改代码所在的类的类名,需要稍作修改)
URL url = LoginFrame.class.getResource("/loginImages/qqIcon.png"));
嗯,我所知道的方法现在就这些,如果你还知道别的方法,欢迎一起分享!
文章来源: blog.csdn.net,作者:靡荼知返,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_50679242/article/details/116771294