Java如何获取没有全名的文件

时间:2017-04-07 07:32:50

标签: java file

我需要从应用程序的另一部分下载的目录中获取该文件,但该文件的名称是动态创建的。我的意思是它总是Query_然后是一些数字,fe。 Query_21212121212Query_22412221。我需要获取绝对文件路径,例如C:/ dir / Query_ *。怎么做?

1 个答案:

答案 0 :(得分:1)

如果您知道文件所在的路径,则可以创建DirectoryStream并获取其中的所有文件。

请参阅https://docs.oracle.com/javase/tutorial/essential/io/dirs.html#glob

示例(来自上面的链接):

Path dir = ...;
try (DirectoryStream<Path> stream =
     Files.newDirectoryStream(dir, "*.{java,class,jar}")) { //<--- change the glob to 
                                                            //fit your name pattern.
    for (Path entry: stream) {
        System.out.println(entry.getFileName());
    }
} catch (IOException x) {
    // IOException can never be thrown by the iteration.
    // In this snippet, it can // only be thrown by newDirectoryStream.
    System.err.println(x);
}

关于globs:https://docs.oracle.com/javase/tutorial/essential/io/fileOps.html#glob

所以在你的情况下,它可能类似于"Query_*"。您是否使用特殊扩展或根本没有扩展?如果它是.txt那么glob应该像"Query_[0-9]+.txt"