gpt4 book ai didi

java - 试图获取最大文件的文件名

转载 作者:搜寻专家 更新时间:2023-10-31 19:44:51 25 4
gpt4 key购买 nike

所以我现在正在学习递归,我知道如何在 JFileChooser 中选择的文件夹中获得最大的文件大小。

我实在想不通在找到该文件后如何获取该文件的名称。这是获取最大文件大小的方法。我将如何获取该文件的名称?

public static long largestFileSize(File f) {
if (f.isFile()) {
return f.length();
} else {
long largestSoFar = -1;

for (File file : f.listFiles()) {
largestSoFar = Math.max(largestSoFar, largestFileSize(file));
}
return largestSoFar;
}
}

最佳答案

String fileName = file.getName()

既然同时返回文件的大小和名称是不切实际的,为什么不返回文件,然后从中获取文件的大小和名称呢?

public static File largestFile(File f) {
if (f.isFile()) {
return f;
} else {
File largestFile = null;

for (File file : f.listFiles()) {
// only recurse largestFile once
File possiblyLargeFile = largestFile(file);
if (possiblyLargeFile != null) {
if (largestFile == null || possiblyLargeFile.length() > largestFile.length()) {
largestFile = possiblyLargeFile;
}
}
}
return largestFile;
}
}

然后你可以这样做:

String largestFileName = largestFile(file).getName();
long largestFileSize = largestFile(file).length();

EDIT:返回任何子目录中最大的 File。如果子目录中不存在文件,则返回 null

关于java - 试图获取最大文件的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33797231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com