java 使用getclass().getresourceasstream()方法获取资源
之前想获取一个资源文件做一些处理,使用getclass().getresourceasstream()一直拿不到文件。 具体的用法。
1 inputstream is = this.getclass().getresourceasstream(filename); //拿不到资源 2 inputstream is = this.getclass().getresourceasstream("/" + filename); // 拿到资源 3 inputstream is = this.getclass().getclassloader().getresourceasstream(filename); //拿到资源
具体文件和代码的位置是,代码在src/main/java目录下,资源文件在src/main/resources/目录下。
会从当前类的目录下去找,这个文件如果不和该类在一个目录下,就找不到。
会从编译后的整个classes目录下去找,maven也会把资源文件打包进classes文件夹,所以可以找到。
classloader就是从整个classes文件夹找的,所以前面无需再加/。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问, 点击进行留言回复!!
HashMap、Hashtable、ConcurrentHashMap三者间的异同
解决RecycleView 中Item包含Edittext时,滑动view复用导致数据错乱的问题
多线程、同步工作原理、死锁案例、Lock接口、线程的生命周期的讲解及实现
网友评论