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

System.getProperty(“user.dir”)

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

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

运行结果如下

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

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

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

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

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

运行结果

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

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

file.getPath()和file.getCanonicalPath()

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目录标准(绝对) 路径,方便在执行目录中生成需要的文件或目录。

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值