java读取文件的相对路径
本地运行
在本地运行时可参考我的另一篇博客:java中的相对路径用法 | 代码流畅,心情舒畅! (liu-ruyang.github.io)
打包后运行
打包成jar包之后,应该使用classpath的路径,classpath的下一级即为resources或者java文件夹的下一级。
1 | // properties类型文件 |
但这样有个致命的缺点:通过class.getResourceAsStream()获取的文件数据会保存在jar文件中,当jar中的该文件需要修改为服务器上或其他位置的文件时,则无法访问(还是打包之前的文件路径)
原因:jar相当于一个压缩包,会把所有加载的文件保存于其中,且数据不可更改(可以先解压jar文件,再重新打包成jar文件)