java—如何在windows中检测规范路径中的制表符/空格

b1zrtrql  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(373)

假设我已经进入了这条路” myTextField ": /home/extras /myFolder 这是我的if语句,它在linux上运行得非常好,它检测 extras 以及 / 但是windows不会检测每个目录名后面的空格。
奇怪的是,windows检测到目录名之间的空格,例如,如果我输入: ex tras ,但它从不检测结尾处的空格。与windows有关,但如何解决呢?

if (new File(myTextField.getText()).getCanonicalPath().contains(" ")) {
//DO STUFF
}
o75abkj4

o75abkj41#

windows通过删除尾随空格和句点来规范文件名,请参阅“windows系统上的文件路径格式”。此外,javaapi不允许通过附加一个尾部目录分隔符来跳过这种规范化( \ ),将忽略尾部分隔符。
这就解释了为什么后面的空格会被 getCanonicalPath() ,但不会删除文件名中间的空格。

相关问题