gpt4 book ai didi

Java - file.length() 返回 0

转载 作者:行者123 更新时间:2023-12-01 22:34:55 34 4
gpt4 key购买 nike

出于某种原因,即使在执行 file.exists() 检查后,该值仍为 0,即使您确信这些目录不为空,因为我已经检查了 c:\包含在内。

 File folder = new File(directama);
File[] listOfFiles=folder.listFiles();

for (File listOfFile : listOfFiles) {

if(listOfFile.exists()){

String str = tamanhovari.getText(); //IRRELEVANT
Long valisizeGB = parseLong(str); //IRRELEVANT
String length = valueOf(listOfFile.length());//IRRELEVANT
Long bytevalue = parseLong(length); //IRRELEVANT
String gbdivisor ="10737418284"; //IRRELEVANT
Long bytetogb = parseLong(gbdivisor); //IRRELEVANT
Long valisizeBT=valisizeGB*bytetogb; //IRRELEVANT
Long actualfilesize = bytevalue/bytetogb; //IRRELEVANT

if (listOfFile.length()<= valisizeBT) {
if(listOfFile.isFile()){
}
else if (listOfFile.isDirectory()) {
model.addRow(new Object[]{listOfFile.getName(),actualfilesize + " GB" });
}
else{}

}}
else{}
}

从逻辑上讲,它应该以 GB 为单位返回文件夹的值,但即使我删除 GB 格式并尝试仅返回字节值,它仍然只返回 0。

有什么建议吗?我几乎已经完成了所有事情。

编辑:解决了!感谢您的快速回复!要检索文件夹的大小,必须使用 file.sizeOfDirectory() 而不是 file.length()

最佳答案

请阅读specs :

The return value is unspecified if this pathname denotes a directory. 

关于Java - file.length() 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26996224/

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