我今天只是想把项目中需要操作的逻辑问题提取出来,只包含一个类文件,其他三个是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一种实现
对于新人来说,学到新东西很开心了,哈哈。