简述
java项目里,我们时常需要读取一些自定义的文件,我们一般也会把这些文件放在resources目录下,但有时候,我们在idea开发时明明是可以读取到文件的,一打包放到Linux或者Tomcat上运行就会报错,说找不到指定的文件。下面我们就来实践一下常用的几个读取文件的方式。
(阅读本文大概耗时1分钟)
实践
先列举将要实践的几个方式:
- java.io.File
- java.lang.ClassLoader#getSystemResourceAsStream
- class.getClassLoader().getResourceAsStream
- org.springframework.core.io.FileSystemResource
- org.springframework.core.io.FileSystemResourceLoader
先实践这几种,有jdk有spring的,下面看图说话:
1、java.io.File
idea下都读取不到,我们就不试jar包了。(下同)
2、java.lang.ClassLoader#getSystemResourceAsStream
3、class.getClassLoader().getResourceAsStream
4、org.springframework.core.io.FileSystemResource
5、org.springframework.core.io.FileSystemResourceLoader
综上,第3,第5种方式都行;为操作方便,我建议统一使用第3种方式:
当前类名.class.getClassLoader().getResourceAsStream(“text.txt”)
OK,各位道友若还能想出其他方式,敬请留言。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/10072.html