java resources 读取文件_java读取Resources下文件

本文介绍了Java中从Resources目录下读取文件的六种方式,包括使用InputStream、BufferedReader、URL、ResourceBundle、Class.getResourceAsStream以及Resources.class.getResource等方法,涉及流文件读取和获取文件路径的操作。
摘要由CSDN通过智能技术生成

1b886e01fb6cf6771d2069176464ece5.png

java读取Resources下文件

第一种,读为流文件

InputStream path = this.getClass().getResourceAsStream("/data.txt");

BufferedReader reader = new BufferedReader(new InputStreamReader(path));

1

2

第二种, 读取路径

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

2

3

4

5

6

7

8

9

10

11

12

13

第三种, 读为流文件

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

2

3

4

5

6

7

8

第四种, 读取路径

ResourceBundle bundle = ResourceBundle.getBundle("config");

String url = bundle.getString("url");

1

2

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

第五种, 读为流文件

InputStream inputStream = Resources.class.getResourceAsStream(“/mybatis.xml”);或者

InputStream resourceAsStream = Resources.class.getClassLoader().getResourceAsStream("a.py");

1

2

第六种, 读取路径

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;

}

————————————————

版权声明:本文为CSDN博主「世界,你好」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_41622739/article/details/97819146

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值