getResourceAsStream()的使用

我今天只是想把项目中需要操作的逻辑问题提取出来,只包含一个类文件,其他三个是txt保存的文件。
因为需要读取这些文件,重新使用elipse打开(之前是Intellij IDEA)我直接将文件和类文件放在同一目录下

InputStream Is = Class.getClassLoader().getResourceAsStream(“a.txt”);
Scanner sc = new Scanner(ls,”UTF-8”);
依次保存在集合中

(纯记忆,代码有问题欢迎指出)
我发向在这一行一直报错,文件找不到,网上查找一直以为是在包目录下。后来将文件放在eclipse下的src目录下,说是ClassPath目录,文件正常读取。
获取文件的方式是由ClassLoader获取资源

该段代码是写在类的static代码块中,意味着当执行到该类的时候,最先静态加载文件,并保存到集合中。
(文件名不是写死的,我这里没有体现,应该是一段静态final字符串,方便后期更改)
关于getResourceAsStream()使用方法:

Class.getResourceAsStream(String path):

path默认是从该类所在的包下取资源

Class.getClassLoader.getResourceAsStream(String path)

从Classpath下获取资源,由ClassLoader获取

ServletContext.getResourceAsStream(String path);

从webapp根目录下获取资源,具体看实际情况。

jsp的application内置对象

ServletContext一种实现

对于新人来说,学到新东西很开心了,哈哈。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值