在java中检索文件名的Dir命令

在java中检索文件名的Dir命令,java,command-prompt,Java,Command Prompt,我正在编写一个代码,以以下格式检索文件 文件名yyyymmddhhmmss.csv 我在java代码中使用以下文件名yyyymmdd*.csv(即正则表达式)查找该文件。 但是,如果有两个文件具有相同的初始名称,例如 文件名yyyymmddhhmmss.csv 及 FileNameyyyyMMddhhmmss.csv(具有不同的时间戳,即hhmmss不同) dir命令是如何工作的。在遍历目录时,它会首先拾取哪个文件? 另一个问题是,如果在同一代码中使用两个dir命令,它是否会在使用第二个dir命

我正在编写一个代码,以以下格式检索文件 文件名yyyymmddhhmmss.csv

我在java代码中使用以下文件名yyyymmdd*.csv(即正则表达式)查找该文件。 但是,如果有两个文件具有相同的初始名称,例如

文件名yyyymmddhhmmss.csv 及 FileNameyyyyMMddhhmmss.csv(具有不同的时间戳,即hhmmss不同)

dir命令是如何工作的。在遍历目录时,它会首先拾取哪个文件?
另一个问题是,如果在同一代码中使用两个dir命令,它是否会在使用第二个dir命令时拾取正确的文件?

如注释中所建议的,使用FileFilter类。要按最早的文件排序,请运行“dir/od”。这样,您就不必依赖于dir的一个实现(以防它们在不同的Windows版本中发生了变化,我对此表示怀疑,但在代码中进行假设仍然很糟糕),并且可以确定哪个文件是第一个


我也不确定你的第二个问题。你能详细说明一下吗?

使用
java.io.File.listFiles(FileFilter filter)
方法。当我运行代码时,我观察到dir命令拾取目录中的第一个文件,然后向右移动到下一个文件。但是,如果手动更改文件顺序,它会从顶部拾取目录中的第一个文件。因此,我无法准确地判断dir是通过从上到下遍历整个目录来工作的,这取决于目录中文件的排列,还是它有自己的过程来拾取第一个文件。