读取resource目录下的文件

本文介绍在Java项目中获取资源文件路径的多种方法,特别是如何从项目的classpath中读取特定目录下的文件,并提供了实际代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录结构如图,想要读取resources目录下的input.json

215221_VLiL_2702165.png


一.获取当前项目的classpath绝对URI路径的5种方法

例如:file:/G:/jackson/target/classes/input.json

1.this.getClass().getResource("") 
2.this.getClass().getResource("/") 
3.this.getClass() .getClassLoader().getResource("")
4.ClassLoader.getSystemResource("")
5.Thread.currentThread().getContextClassLoader ().getResource("") 
6.ServletActionContext.getServletContext().getRealPath(“/”) 
Web应用程序 中,得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。
 

注意:读取文件时,不能直接用以上获取的URI路径,需要做如下处理

这里在main方法里用的是第4种方法(静态方法),且直接把resource目录下的文件名作为参数传入,注意后面的getPath(),调用这个获取的是:

the path part of this URL, or an empty string if one does not exist

这个path才能用于获取文件 

String path= ClassLoader.getSystemResource("input.json").getPath();
File file=new File(path);

 

 

二、参考文献

http://blog.sina.com.cn/s/blog_9c7605530101gg9d.html

转载于:https://my.oschina.net/Cubicluo/blog/1545685

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值