java统计某个文件夹下面的.txt文件的个数(递归)
java怎么才能统计某个文件夹下面的指定类型的文件个数,我们可以通过 java 的 File 类加上递归来实现遍历操作!
想到删除指定类型的文件、或者是移动指定类型的文件,都是差不多的,只需要调用不同方法就可以~
import java.io.File; //先导包
public class Work04 {
static int count = 0; // 初始化统计变量
public static void main(String[] args) {
File file = new File("E:\Java"); // 需要查找的文件目录
System.out.println(getTxtFilesCount(file)); //调用方法
}
/*
* 方法名:getTxtFilesCount
* 作用:统计.txt文件个数
*/
public static int getTxtFilesCount(File srcFile){
// 判断传入的文件是不是为空
if (srcFile == null) {
throw new NullPointerException();
}
// 把所有目录、文件放入数组
File[] files = srcFile.listFiles();
// 遍历数组每一个元素
for (File f : files) {
// 判断元素是不是文件夹,是文件夹就重复调用此方法(递归)
if (f.isDirectory()) {
getTxtFilesCount(f);
}else {
// 判断文件是不是以.txt结尾的文件,并且count++(注意:文件要显示扩展名)
if (f.getName().endsWith(".txt")) {
count++;
}
}
}
// 返回.txt文件个数
return count;
}
}
java 的 File 类常用的一些方法
public boolean createNewFile() //若文件不存在则创建新文件
public boolean mkdir() // 创建目录 make Directory
public boolean delete() // 删除文件及空目录
public boolean renameTo(File test) // 重命名为 test
public boolean isFile() // 是否文件
public boolean isDirectory() // 是否目录
public boolean canRead() // 是否可读
public boolean canWrite() // 是否可写
public boolean exists() // 是否存在
public boolean isHidden() // 是否隐藏
public long length() // 长度
public String getAbsolutePath() // 绝对路径
public String getPath() // 定义的路径
public String getName() // file名字
public long lastModified() // 最后一次修改时间
public String[] list() // 返回file下的文件和目录名称(字符串)
public File[] listFiles() // 返回file下的文件和目录(文件)上面我用的