场景:
项目在windows下接见一般,linux下抛非常,找不到文件。
剖析:
假如接见的项目文件是如许的:abc/bcd/aa.jpg ,而体系中接见文件的途径是:abc/Bcd/aa.jpg,二者的区别是二级目次bcd写成了Bcd。
假如在windows下开辟的小伙伴们,是发明不了毛病的,windows文件名大小写不敏感,因而,根据 abc/Bcd/aa.jpg依旧能接见到文件,然则linux文件目次大小写敏感,因而会找不到文件。
解决方法:
在日常平凡的编程中,一定要严厉的誊写。
还需要注意一点:linux目次分隔符是 /,windows下是\,因而偶然在windows存到数据库里的文件途径搬到linux下就会不实用,需要在体系中做处置惩罚,从数据库掏出途径后,要经由加工,代码以下:
/**
* 修改途径,将 \\ 或 / 等替换为 File.separator
* @param path 待修改的途径
* @return 修改后的途径
*/
public static String path(String path){
String p = StringUtils.replace(path, "\\", "/");
p = StringUtils.join(StringUtils.split(p, "/"), "/");
if (!StringUtils.startsWithAny(p, "/") && StringUtils.startsWithAny(path, "\\", "/")){
p += "/";
}
if (!StringUtils.endsWithAny(p, "/") && StringUtils.endsWithAny(path, "\\", "/")){
p = p + "/";
}
if (path != null && path.startsWith("/")){
p = "/" + p; // linux下途径
}
return p;
}
引荐教程:Linux教程
以上就是linux抛出找不到文件非常的解决方法的细致内容,更多请关注ki4网别的相干文章!
收藏 | 0