思路

  1. 需要遍历的文件夹 File
  2. 使用listFile列出下级文件及文件夹
  3. 判断得到的list是否为空,为空则输出当前文件夹名称
  4. 如果不为空,逐个判断是文件还是文件夹
  5. 如果是文件,输出文件名
  6. 如果是文件夹, 回到2步骤

从第2到第6封装成方法,使用递归的思想遍历。

代码

import java.io.File;
public class ListFile
{
static int COUNT = -1;//文件序号,由于首次传入文件夹也会导致COUNT加1
static int SPACE = 0;//文件夹大小
public static void main(String[] args){
//1.需要遍历的文件夹 File
//2.使用listFiles列出下级文件及文件夹
//3.判断得到的list是否为空,为空则输出当前文件夹名称
//4.如果不为空,逐个判断是文件还是文件夹
//5.如果是文件,输出文件名
//6.如果是文件夹, 回到2步骤 //1.需要遍历的文件夹
File directory = new File("D:\\遍历测试文件夹");
//调用遍历方法
bianLi(directory);
System.out.println("文件夹\""+directory.getAbsolutePath()
+"\"已遍历完成!文件夹大小为:"+SPACE+"B,包含了文件及文件夹共"+COUNT-1+"个!"); } //遍历方法
public static void bianLi(File directory){
COUNT++;
System.out.println(COUNT+":"+directory.getAbsolutePath()+" 非空文件夹");
//2.列出下级文件及目录
File[] fileList = directory.listFiles();
//3.判断得到的list是否为空,为空则输出当前文件夹名称
if(fileList.length == 0){
COUNT++;
System.out.println(COUNT+":"+directory.getAbsolutePath()+" 空文件夹");
return;
}
//4.如果不为空,逐个判断是文件还是文件夹
for(File file : fileList){
//5.如果是文件,输出文件名
if(file.isFile()){
COUNT++;
SPACE += file.length();
System.err.println(COUNT+":"+file.getAbsolutePath()+" 文件");
}else{//6.1 如果是文件夹
bianLi(file);//6.2 回到2步骤
}
}
}
}

  

演示

02 File类的方法练习——遍历文件夹的更多相关文章

  1. Java File类应用:递归遍历文件夹和递归删除文件

    要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件 注意: 以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归 ...

  2. java基础知识回顾之javaIO类--File类应用:递归深度遍历文件

    代码如下: package com.lp.ecjtu.File.FileDeepList; import java.io.File; public class FileDeepList { /** * ...

  3. Java IO流-File类的使用示例-创建文件夹和文件的正确方法

    当创建一个文件时,比如:E:\\test\\test.txt,此时若文件夹test不存在,那么直接创建文件会出错,故首先要判断文件夹是否存在,不存在的话要首先创建文件夹. public class F ...

  4. java File基本操作,以及递归遍历文件夹

    java 的文件操作,相对来说是比较重要的,无论是编写CS还是BS程序,都避免不了要与文件打交道,例如读写配置文件等.虽然现在很多框架都直接帮你做好了这一步! java.io.File 底层是调用与c ...

  5. C/C++遍历文件夹和文件

    本方法可用于windows和linux双平台,采用C/C++标准库函数. 库函数 包含头文件 #include 用到数据结构_finddata_t,文件信息结构体的指针. struct _findda ...

  6. File类创建删除功能的方法和File类遍历(文件夹)目录功能

    File类创建删除功能的方法 -public boolean createNewFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件 -public boolean delete(): ...

  7. java中File类应用:遍历文件夹下所有文件

    练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...

  8. linux c遍历文件夹 和文件查找的方法

    linux c遍历文件夹的方法比较简单,使用c来实现 #include <iostream> #include <stdio.h> #include <sys/types ...

  9. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...

随机推荐

  1. 值得H5前端学习的60个JS插件(含DEMO演示)

    下面也可以说是H5前端学习的js插件大全.基本包含了大部分的前端最前沿的js插件和库. 布局 SuperEmbed.js- 是一个Javascript库,可检测出网页上的内嵌视频并使他们能够变成响应式 ...

  2. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softma

      import numpy as np from matplotlib import pyplot as plt # 创建线性回归数据集 def create_dataset(): X = 2 * ...

  3. ubuntu16.04 18.04 Qt5.11安装Gstreamer

    最近因为要做跨平台的视频传输,需要用到linux的解码器,真的是搞死我了 大概讲一下我现在的平台是ubuntu16.04 Qt5.11 ,我现在需要在我的程序中使用视频这一块,无奈linux中,Qt支 ...

  4. 沃顿商学院的MBA课程

    沃顿商学院的MBA课程,分为必修课和选修课两部分 (一)必修课: 1.领导力:团队合作和领导力的基础 2.营销学:营销管理 3.微观经济学:微观经济基础 4.经济学:管理经济学的高级话题 5.统计学: ...

  5. arcpy arcgis python实例教程--原点夹角距离定义线(坐标正算)

    arcpy arcgis python实例教程--原点夹角距离定义线(坐标正算) 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 此地理处理工具 ...

  6. Docker Error response from daemon: driver failed programming external connectivity on endpoint webserver

    按照官网的配置, https://docs.docker.com/docker-for-windows/ 当执行到第 5 步时 如果当前你的电脑 80 端口已经被别的程序占用,运行以上命令就会报错,报 ...

  7. leetcode 380. Insert Delete GetRandom O(1) 、381. Insert Delete GetRandom O(1) - Duplicates allowed

    380. Insert Delete GetRandom O(1) 实现插入.删除.获得随机数功能,且时间复杂度都在O(1).实际上在插入.删除两个功能中都包含了查找功能,当然查找也必须是O(1). ...

  8. 惠普打印机和扫描仪修复医生 HP Print and Scan Doctor

    https://support.hp.com/cn-zh/topic/printscandoctor-printing-problems http://ftp.hp.com/pub/printers/ ...

  9. 深入Resource实现多语言支持的应用详解

    首先为假设有一个应用程序CAStudy,接着右键添加一个资源文件Resource1.resx. Resource1.resx里面如下: Main函数如下:static void Main(){    ...

  10. 十九款web漏洞扫描工具

    1. Arachni Arachni是一款基于Ruby框架搭建的高性能安全扫描程序,适用于现代Web应用程序.可用于Mac.Windows及Linux系统的可移植二进制文件. Arachni不仅能对基 ...