帮帮java小白

MYsce 2018-05-03 03:55:30
  public long getFileSize(File folder) {  
long foldersize = 0;
File[] filelist = folder.listFiles();
for (int i = 0; i < filelist.length; i++) {
if (filelist[i].isDirectory()) {
totalFolder++;
foldersize += getFileSize(filelist[i]);
} else {
totalFile++;
foldersize += filelist[i].length();
}
}
return foldersize;
}

为什么我用这段代码统计有些正确有些不正确?
如何统计一个文件夹里面的文件个数,文件夹个数?
...全文
475 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MYsce 2018-05-04
  • 打赏
  • 举报
回复
谢谢大家的回答
gshywx 2018-05-04
  • 打赏
  • 举报
回复
有隐藏的文件
不善言谈者 2018-05-03
  • 打赏
  • 举报
回复
引用 2 楼 MYsce 的回复:
[quote=引用 1 楼 bushanyantanzhe 的回复:] 你这方法没什么问题啊,我测试的结果是正确得我 public static void main(String[] args) { File file = new File("E:/Meitu"); long fileSize = getFileSize(file); System.out.println("总大小:"+fileSize+"字节"); System.out.println("文件夹个数:"+totalFolder); System.out.println("文件个数:"+totalFile); } static int totalFolder; static int totalFile; static long foldersize = 0; public static long getFileSize(File folder) { File[] filelist = folder.listFiles(); for (int i = 0; i < filelist.length; i++) { if (filelist[i].isDirectory()) { totalFolder++; getFileSize(filelist[i]); } else { totalFile++; foldersize += filelist[i].length(); } } return foldersize; } 总大小:78250177字节 文件夹个数:140 文件个数:3591
但是有些文件夹下的文件不对,,不知道为什么[/quote]可能是你的文件夹里有隐藏文件之类的吧.我试了好几次,都没有问题
MYsce 2018-05-03
  • 打赏
  • 举报
回复
MYsce 2018-05-03
  • 打赏
  • 举报
回复
MYsce 2018-05-03
  • 打赏
  • 举报
回复
引用 1 楼 bushanyantanzhe 的回复:
你这方法没什么问题啊,我测试的结果是正确得我 public static void main(String[] args) { File file = new File("E:/Meitu"); long fileSize = getFileSize(file); System.out.println("总大小:"+fileSize+"字节"); System.out.println("文件夹个数:"+totalFolder); System.out.println("文件个数:"+totalFile); } static int totalFolder; static int totalFile; static long foldersize = 0; public static long getFileSize(File folder) { File[] filelist = folder.listFiles(); for (int i = 0; i < filelist.length; i++) { if (filelist[i].isDirectory()) { totalFolder++; getFileSize(filelist[i]); } else { totalFile++; foldersize += filelist[i].length(); } } return foldersize; } 总大小:78250177字节 文件夹个数:140 文件个数:3591
但是有些文件夹下的文件不对,,不知道为什么
不善言谈者 2018-05-03
  • 打赏
  • 举报
回复
你这方法没什么问题啊,我测试的结果是正确得我
public static void main(String[] args) {
File file = new File("E:/Meitu");
long fileSize = getFileSize(file);
System.out.println("总大小:"+fileSize+"字节");
System.out.println("文件夹个数:"+totalFolder);
System.out.println("文件个数:"+totalFile);
}

static int totalFolder;
static int totalFile;
static long foldersize = 0;

public static long getFileSize(File folder) {

File[] filelist = folder.listFiles();
for (int i = 0; i < filelist.length; i++) {
if (filelist[i].isDirectory()) {
totalFolder++;
getFileSize(filelist[i]);
} else {

totalFile++;
foldersize += filelist[i].length();
}
}
return foldersize;
}

总大小:78250177字节
文件夹个数:140
文件个数:3591

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧