【问题标题】:Java Path get last Folder IDJava Path 获取最后一个文件夹 ID
【发布时间】:2017-10-16 11:00:14
【问题描述】:

我有一个文件夹main,里面有很多这样的子文件夹

1
2
4
7
10

我想获取集合中最后一个文件夹的 ID。在这种情况下,文件夹“10”。我如何在 Java 8 中做到这一点?

【问题讨论】:

  • last folder 是什么意思?按自然顺序排列的是最后一个或最后一次修改的(更新目录时间戳时可能会因操作系统而异)。
  • 还是最近创建的?或者当名称被解释为数字时具有最高值的那个?还是不解释为数字?
  • "将名称解释为数字时值最高的那个"那个
  • 如果您在List 中有目录,您可以使用Collections.sort(list, comparator) 以您想要的方式对它们进行排序。到目前为止,您尝试过什么?

标签: java java-io


【解决方案1】:

您可以按上次修改日期对文件夹进行排序,例如:

public static String lastFolder() throws IOException {

        Stream<Path> dirList = Files.list(Paths.get("your_directoy_ath")).sorted(new Comparator<Path>() {
            @Override
            public int compare(Path path1, Path path2) {
                Long file1Name = path1.toFile().lastModified();
                Long file2Name = path2.toFile().lastModified();
                return file2Name.compareTo(file1Name);

            }
        });

        return dirList.collect(Collectors.toList()).get(0).getFileName().toString();
    }

您可以根据需要修改排序方法,如果您需要按名称..也可以这样做

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多