服务器下载文件路径失效

开发时候存储的路径用的是File.separator来生成分隔符,
这样使用开发没问题,下载都是正常的,但是项目部署在服务器上,下载失效了,发现是\的问题,识别不了,
window 与 linux 中的 不同操作系统中路径分隔符是不相同的,开发环境是window,File.separator生成的是\,而测试环境是Linux,生成的是/,测试环境用的是开发环境的库,所以识别不了window生成的\,下载的时候处理一下,我试了一下,window可以识别/\,直接在后端替换掉

//str为路径
str=str.replaceAll("\\\\", "/");

文件路径

在进行 springboot 项目开发以及打包为 jar 包发布时, 可能会有两种情况下生成文件路径不一致的问题, 有一种获取路径的方法可以使两种环境下都可以正确获取到项目或jar包的根目录

String root = System.getProperty("user.dir");
String path = root +"\\out.txt";
// 这个可以得到当前jar包运行时的目录。

当项目打jar包使用java -jar xxx.jar运行时,jar会作为一个单独的文件运行,文件不会生成在jar包中。

所以使用System.getProperty(“user.dir”);获取当前jar所运行的路径(和jar文件所在的同级目录),使用该路径作为根目录存放项目中生成的文件。

获取resouces路径

ResourceUtils.getFile

ResourceUtils.getFile在Linux获取不到路径

ResourceUtils.getFile

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值