web工程中java类获取webapp路径下的文件

第一步: 先获得classpath路径

String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", ""); 

这样子可以得到classpath路径,类似于:

F:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/WEB-INF/classes/

第二步、把WEB-INF/classes截取就能获得WebAPP目录啦:

String webappRoot = classpath.replaceAll("WEB-INF/classes/", ""); 

得到的结果就是:

F:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/

通过这个路径你就能获取该文件夹下的所有文件啦

代码示例:

 String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", "");
 String webappRoot = classpath.replaceAll("WEB-INF/classes/", "");
 String fileName = webappRoot + "/static/file/temp.xlsx";
 File file = new File(fileName);

需要注意!!!

这里的操作只能在windows 下, 因为 第一步的replaceFirst("/", “”);

windows下 的路径都是 磁盘开头,所以没问题。

但linux 下就不行了,还这样获取的话会出现:

出现异常java.io.FileNotFoundException: export/Packages/

这是因为丢失export 前的 / ,所以去掉 replaceFirst("/", “”);

转载于:https://my.oschina.net/zjllovecode/blog/2998203

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值