假设我已经进入了这条路” myTextField
": /home/extras /myFolder
这是我的if语句,它在linux上运行得非常好,它检测 extras
以及 /
但是windows不会检测每个目录名后面的空格。
奇怪的是,windows检测到目录名之间的空格,例如,如果我输入: ex tras
,但它从不检测结尾处的空格。与windows有关,但如何解决呢?
if (new File(myTextField.getText()).getCanonicalPath().contains(" ")) {
//DO STUFF
}
1条答案
按热度按时间o75abkj41#
windows通过删除尾随空格和句点来规范文件名,请参阅“windows系统上的文件路径格式”。此外,javaapi不允许通过附加一个尾部目录分隔符来跳过这种规范化(
\
),将忽略尾部分隔符。这就解释了为什么后面的空格会被
getCanonicalPath()
,但不会删除文件名中间的空格。