文件名包含空格,在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("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");

Linux,运行结果

A: /opt/wf/dsweb/swap.config ,26,false
B: /opt/wf/dsweb/swap.config,25,true
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Windows,运行结果

A: E:\opt\wf\dsweb/swap.config ,28,true
B: E:\opt\wf\dsweb/swap.config,27,true
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

你可能感兴趣的:(jvm,windows,linux)