求解 Java项目上传到阿里云后 IO流找不到项目里resources下的文件路径了
window和linux系统的路径分隔符是不一样的。window下是”\“,linux系统下是"/",
不知道你是不是这个问题,如果是的话,建议写成
String separator = java.io.File.separator; 不管哪种系统,都可以使用。不用担心不通用。
项目在服务器上跑 我本地能找到 服务器上找不到
你代码怎么写的?建议用 `ClassPathResource` 类去加载classpath下的资源。
file = ResourceUtils.getFile("classpath:HeadImage"); filePath = file.getPath();
报null 本次测试可以 服务器上不行
file = ResourceUtils.getFile("classpath:HeadImage");
filePath = file.getPath();
这种方式获取文件,对于打包成jar的应用来说不适合。因为jar文件本身就是一个单独的压缩文件了。没办法把压缩文件里面的文件封装成File对象给你。你先确定一下你的需求,你是要读取这个文件的数据吗?如果只是要读取数据,那么使用 `ClassPathResource`就行。如果确实要`File`对象,那么我也建议你使用`ClassPathResource`读取数据,IO到本地磁盘,再创建本地磁盘的`File`对象。
非常感谢大家的帮助 问题以及解决