文件名包含空格,在Windows和Linux上JDK的File表现不同
? ?今天在将本地的项目部署到测试服务器上,出现一个Error。追查很久,最终发现原因是配置文件多写了一个空格。这个错误在windows上不会出现,在Linux上会找不到文件。
?
? ?验证代码如下(realPath是一个以空格结尾的字符串)
logger.info("A: " + realPath + "," + realPath.length() + "," + new File(realPath).exists());
String path = realPath.trim();
logger.info("B: " + path + "," + path.length() + "," + new File(path).exists());
logger.info("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
A: /opt/wf/dsweb/swap.config ,26,false
B: /opt/wf/dsweb/swap.config,25,true
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A: E:\opt\wf\dsweb/swap.config ,28,true
B: E:\opt\wf\dsweb/swap.config,27,true
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++