java读取Resources下文件

本文详细介绍了在Java中从Resources目录下读取文件的六种常见方法,包括使用流文件、读取路径及利用ResourceBundle和Resources类等,为开发者提供了全面的指导。

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

java读取Resources下文件

  1. 第一种,读为流文件
InputStream path = this.getClass().getResourceAsStream("/data.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(path));
  1. 第二种, 读取路径
Thread.currentThread().getContextClassLoader()。  
URL l1 =   
Thread.currentThread().getContextClassLoader().getResource("readFile/test1.xml");  
System.out.println(l1);  
  
URL l2 =   
Thread.currentThread().getContextClassLoader().getResource("collection/test2.xml");  
System.out.println(l2);  
  
URL l3 = Thread.currentThread().getContextClassLoader().getResource("test3.xml");  
String l4=l3.getPath();//加上getPath()则去掉前面的file:  
System.out.println(l3);  //     file:/F:/demo/Studying/out/production/Studying/test3.xml  
System.out.println(l4);//      /F:/demo/Studying/out/production/Studying/test3.xml  
  1. 第三种, 读为流文件
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("conf/job_two_one_mapping.txt");  
try(Scanner scanner = new Scanner(is)) {  
    while (scanner.hasNextLine()) {  
        System.out.println(scanner.nextLine());  
    }  
} catch (Exception e) {  
    log.error("读取文件数据异常" ,e);  
}  
  1. 第四种, 读取路径
ResourceBundle bundle = ResourceBundle.getBundle("config");
String url = bundle.getString("url");

该方法默认读取的是resources文件夹下的以.properties为后缀的文件,代码中的例子即为config.properties

  1. 第五种, 读为流文件
InputStream inputStream = Resources.class.getResourceAsStream(“/mybatis.xml”);或者
InputStream resourceAsStream = Resources.class.getClassLoader().getResourceAsStream("a.py");
  1. 第六种, 读取路径
URL resource = Resources.class.getClassLoader().getResource("");
String path = resource.getPath();
底层如下:
public static URL getResource(String resourceName) {
 ClassLoader loader = MoreObjects.firstNonNull(
  Thread.currentThread().getContextClassLoader(),
  Resources.class.getClassLoader());
 URL url = loader.getResource(resourceName);
 checkArgument(url != null, "resource %s not found.", resourceName);
 return url;
}

》》》博主长期更新学习心得,推荐点赞关注!!!
》》》若有错误之处,请在评论区留言,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值