(“”)
获取当前项目所在的目录,获取当前项目所在的路径。这里的字符串“”是属性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目录标准(绝对) 路径,方便在执行目录中生成需要的文件或目录。