java中获取文件或目录的路径

时间:2025-01-15 14:16:57

(“”)

获取当前项目所在的目录,获取当前项目所在的路径。这里的字符串“”是属性property的固有属性。

// 获取当前项目所在的目录
String property = System.getProperty("");
System.out.println("property="+property);

运行结果如下

property=C:\Users\admin\Desktop\generate-entity-from-table-master

总结:该方式也同样可以获取项目打包之后,项目包所在的路径。这样可以根据需要,生成java输出的数据文件。

类名.().getResource(路径字符串)

获取类(java文件)经过编译后,所在classes字节码目录下位置,也是一个绝对位置。

URL resource = TPath.class.getClassLoader().getResource("org/feng/parser");
System.out.println("()="+resource.getPath());

运行结果

resource.getPath()=/C:/Users/admin/Desktop/generate-entity-from-table-master/target/classes/org/feng/parser

总结:该getResource方法生成的是一个URL对象,其实还要调用URL的getPath()才能得到路径,但是该URL类的toString()也是输出同样的内容

()和()

getPath获取相对路径,getCanonicalPath获取绝对路径,前提是需要创建file对象。

File file = new File("./src");
String path = file.getPath();
System.out.println("path="+path);
// Canonical:标准的
String canonicalPath = file.getCanonicalPath();
System.out.println("canonicalPath="+canonicalPath);

运行结果

path=.\src
canonicalPath=C:\Users\admin\Desktop\generate-entity-from-table-master\src

总结:已相对路径创建对象,但让还没有指定是文件还是目录,且java项目的main目录下,自动会有src目录的,所以这里取巧了。这样可以获取src目录标准(绝对) 路径,方便在执行目录中生成需要的文件或目录。

通过比较,还是使用(“”)能更方便获取目录,只需根据需要拼接到指定的路径即可。