2

我有一个包含多个文件和目录的目录。我正在编写一个小型 java 程序,它显示作为参数提供的目录中存在的文件。

我面临的问题是,当我在目录名称后附加点时,即使目录不存在,它也会被视为存在。为了进一步澄清,假设我有一个名为“abc”的目录存在。当我输入“abc”时它工作正常。但是当我将目录名称输入为“abc ...”时,即使如此,该目录也被视为存在。我想避免它。我正在使用创建一个文件对象

File directory = new File( fileName );
if ( directory.exists() ) {
     // do something
}

有什么建议可以避免吗?

4

1 回答 1

4

这与 Java 无关,它是 Windows 的事情:从文件和文件夹名称中删除尾随点。甚至 C/C++ 程序也做不到

作为一种解决方法,请尝试使用前缀\\?\

File dir = new File( "\\\\?\\" + path );

但这会禁用很多其他的东西,比如相对路径和斜线转换。

相关答案:

于 2013-07-19T13:37:31.417 回答