有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我需要从应用程序另一部分中的应用程序下载的目录中获取该文件,但该文件的名称正在动态创建。我的意思是它总是Query_,然后是一些数字,feQuery_21212121212Query_22412221。我需要获得绝对文件路径,类似于C:/dir/Query.*。怎么做


共 (1) 个答案

  1. # 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);
    }
    

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

    因此,在您的例子中,它可能类似于"Query_*"。您是使用特殊分机还是根本不使用分机?如果是的话。然后glob应该像"Query_[0-9]+.txt"