JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

1.不使用递归的方法调用.

public void traverseFolder1(String path) {

int fileNum = 0, folderNum = 0;

File file = new File(path);

if (file.exists()) {

LinkedList list = new LinkedList();

File[] files = file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

fileNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

folderNum++;

}

}

File temp_file;

while (!list.isEmpty()) {

temp_file = list.removeFirst();

files = temp_file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

fileNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

folderNum++;

}

}

}

} else {

System.out.println("文件不存在!");

}

System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);

}

2.使用递归的方法调用.

public void traverseFolder2(String path) {

File file = new File(path);

if (file.exists()) {

File[] files = file.listFiles();

if (files.length == 0) {

System.out.println("文件夹是空的!");

return;

} else {

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

traverseFolder2(file2.getAbsolutePath());

} else {

System.out.println("文件:" + file2.getAbsolutePath());

}

}

}

} else {

System.out.println("文件不存在!");

}

}

3,

public static List getFileList(String strPath) {

File dir = new File(strPath);

File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组

if (files != null) {

for (int i = 0; i < files.length; i++) {

String fileName = files[i].getName();

if (files[i].isDirectory()) { // 判断是文件还是文件夹

getFileList(files[i].getAbsolutePath()); // 获取文件绝对路径

} else if (fileName.endsWith("avi")) { // 判断文件名是否以.avi结尾

String strFileName = files[i].getAbsolutePath();

System.out.println("---" + strFileName);

filelist.add(files[i]);

} else {

continue;

}

}

}

return filelist;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)相关推荐

  1. java遍历文件夹下的_Java遍历文件夹下的所以文件

    利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...

  2. java 文件夹下的文件_java读取某个文件夹下的所有文件

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; public class  ...

  3. java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件

    (1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...

  4. java 读文件夹_java怎么读取读取文件夹下的所有文件夹和文件?

    下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...

  5. java怎么读取文件夹下的_java怎么读取读取文件夹下的所有文件夹和文件?

    下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...

  6. java判断文件夹下是否存在文件_java 判断文件夹是否存在文件

    java 判断文件夹是否存在文件 1.首先使用File类创建一个File对象: 2.然后判断是否是目录,不是目录就返回 3.之后使用file.list()方法获取目录下文件并存入数组 4.最后判断数组 ...

  7. java读取文件夹_Java读取某个文件夹下的所有文件(支持多级文件夹)

    packagecom.vocy.water.batch;importjava.io.FileNotFoundException;importjava.io.IOException;importjava ...

  8. android删除文件夹代码,Android_Android递归方式删除某文件夹下的所有文件(.mp3文件等等),1.由于需要删除文件,因此需 - phpStudy...

    Android递归方式删除某文件夹下的所有文件(.mp3文件等等) 1.由于需要删除文件,因此需要如下权限: 2.核心代码 package com.example.deleteyoumi; impor ...

  9. Java导出源程序_JAVA导出项目的所有源代码到一个文件

    最近要将一个工程的所有源代码导入到一个文件中,要如下图效果. 于是写了如下代码:最后用Notepad上色,paste到word中即可. import java.io.*; public class E ...

最新文章

  1. Linux 里有/lib /boot /sbin /lib /dev等各个目录含义
  2. java去重复的集合_如何去除Java中List集合中的重复数据
  3. SwiftTheme--iOS换肤解决方案
  4. linux下更改MySQL数据库存储目录
  5. 【译】Federated Learning: Bringing Machine Learning to the edge with Kotlin and Android
  6. C#方法重载(overload)方法重写(override)隐藏(new)
  7. Cloud for Customer的shell布局介绍
  8. python算法面试_求职面试的Python算法
  9. “你在哪里上班?”“呵呵呵!”
  10. 人脸关键点: DCNN-Deep Convolutional Network Cascade for Facial Point Detection
  11. NFS==network file system
  12. 20172330 2018-2019-1 《程序设计与数据结构》实验一报告
  13. Daily Scrum 9.26
  14. uvalive 3938 Ray, Pass me the dishes! 线段树 区间合并
  15. pgadmin4 本地安装部署
  16. 基于ArcGIS 的GPS数据地图匹配
  17. 神经网络中的filter (滤波器)与kernel(内核)的概念
  18. ArcGIS学习总结(二)——空间数据处理
  19. 毕业设计 stm32老人跌倒检测预防系统 - 单片机 物联网 嵌入式
  20. 用 Python 实现浪漫表白程序

热门文章

  1. AI种番茄!腾讯xWUR智慧温室大赛预赛揭晓,农科院和三星等五队挺进决赛
  2. 基于SpringBoot,SpringSession和redis的会话共享
  3. Android常用开源框架
  4. 大剑无锋之介绍几个常见的网络协议且位于哪一层?【面试推荐】
  5. 看完你就晓得正向代理和反向代理了!
  6. javaSE各阶段练习题--工具类-常用类-递归-包装类-内部类
  7. 左神算法:在二叉树中找到累加和为指定值的最长路径长度(Java版)
  8. C语言 数据结构 栈(用链表实现)
  9. Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]
  10. linux got分析,聊聊Linux动态链接中的PLT和GOT(3)——公共GOT表项