java 统计某个文件夹下所包含的文件和文件夹的个数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 统计某个文件夹下所包含的文件和文件夹的个数相关的知识,希望对你有一定的参考价值。
static int count =0;
public void refreshFileList(File dir)
int sum=0;
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++)
System.out.println(files[i].getAbsolutePath());
String str = files[i].getAbsoluteFile().toString();
// System.out.println("**********"+str);
countStr(str);
if(files[i].isDirectory())
refreshFileList(files[i]);
sum++;
System.out.println("文件夹的个数为:"+sum);
public static void countStr(String str)
boolean sub =false ;
sub = str.contains(".");
if(sub==true)
count++;
System.out.println("文件的个数为+++:"+count);
上面是我自己写的,输出文件的个数由于是放到for循环里的,有没有更好一点的思路 恳请给些建议
获取其大小即文件和子目录的数量总和。
遍历数组,用isDirectory方法检验元素是否为目录,这样就把子目录数出来了。
做差就是文件的数量了。
哦,你是想继续数子目录的文件数量情况吗?那就再最外面套个递归。 参考技术A java中统计文件夹下的文件数和文件夹数可以采用递归遍历的方法。
我提供一个方法输出特定文件夹下面的文件和文件夹数目,如下:
public void getFileAndDirectory(File file)
int countDirctory = 0;
int countFile = 0;
if(file.isDirectory())
File []files = file.listFiles();
for(File fileIndex:files)
if(fileIndex.isDirectory())
countDirectory++;
getFileAndDirectory(fileIndex);
else
countFile++;
System.out.println("目录文件数目为:"+countDirectory);
System.out.println("普通文件数目为:"+countFile);
方法思路就是遍历到一个文件便判断其是否为目录文件,若为目录文件,则调用该方法,同时目录文件数加1,若为普通文件,则普通文件数加1,便可实现上述的要求。 参考技术B 递归和非递归。
以上是关于java 统计某个文件夹下所包含的文件和文件夹的个数的主要内容,如果未能解决你的问题,请参考以下文章
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,