gpt4 book ai didi

java - 递归 - 选定文件夹中特定文件大小之间的文件数量

转载 作者:行者123 更新时间:2023-12-02 04:11:03 25 4
gpt4 key购买 nike

学习递归,我不确定为什么这不起作用。我需要它为我提供我选择的文件夹中 10000 字节到 25000 字节之间的文件总量。应该返回 3 个文件,但它没有增加。

这是我得到的:

    public static int betweenFileSize(File f) {
if (f.isFile()) {
return 0;
} else {
int amountOfFiles = 0;

for (File file : f.listFiles()) {
if (file.isHidden() == false) {

if (file.length() >= 10000 && file.length() <= 25000) {
amountOfFiles += betweenFileSize(file);
}
}
}
return amountOfFiles;
}
}

最佳答案

您正在对 BetweenFileSize 进行递归调用,以查找位于您要查找的大小范围内的文件。这没有任何意义。

您应该只对目录文件递归地调用该方法。对于满足您的大小标准的文件,只需将计数加 1 即可。

public static int betweenFileSize(File f) {
if (f.isFile()) {
return 0;
} else {
int amountOfFiles = 0;

for (File file : f.listFiles()) {
if (file.isHidden() == false) {

if (file.isDirectory()) {
amountOfFiles += betweenFileSize(file);
} else if (file.length() >= 10000 && file.length() <= 25000) {
amountOfFiles++;
}
}
}
return amountOfFiles;
}
}

关于java - 递归 - 选定文件夹中特定文件大小之间的文件数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33799652/

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