java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
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实现遍历文件夹下的所有文件(递归调用和非递归调用)相关推荐
- java遍历文件夹下的_Java遍历文件夹下的所以文件
利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...
- java 文件夹下的文件_java读取某个文件夹下的所有文件
import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; public class ...
- java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件
(1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...
- java 读文件夹_java怎么读取读取文件夹下的所有文件夹和文件?
下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...
- java怎么读取文件夹下的_java怎么读取读取文件夹下的所有文件夹和文件?
下是实现的代码:package com.borland.samples.welcome; import java.io.FileNotFoundException; import java.io.IO ...
- java判断文件夹下是否存在文件_java 判断文件夹是否存在文件
java 判断文件夹是否存在文件 1.首先使用File类创建一个File对象: 2.然后判断是否是目录,不是目录就返回 3.之后使用file.list()方法获取目录下文件并存入数组 4.最后判断数组 ...
- java读取文件夹_Java读取某个文件夹下的所有文件(支持多级文件夹)
packagecom.vocy.water.batch;importjava.io.FileNotFoundException;importjava.io.IOException;importjava ...
- android删除文件夹代码,Android_Android递归方式删除某文件夹下的所有文件(.mp3文件等等),1.由于需要删除文件,因此需 - phpStudy...
Android递归方式删除某文件夹下的所有文件(.mp3文件等等) 1.由于需要删除文件,因此需要如下权限: 2.核心代码 package com.example.deleteyoumi; impor ...
- Java导出源程序_JAVA导出项目的所有源代码到一个文件
最近要将一个工程的所有源代码导入到一个文件中,要如下图效果. 于是写了如下代码:最后用Notepad上色,paste到word中即可. import java.io.*; public class E ...
最新文章
- Linux 里有/lib /boot /sbin /lib /dev等各个目录含义
- java去重复的集合_如何去除Java中List集合中的重复数据
- SwiftTheme--iOS换肤解决方案
- linux下更改MySQL数据库存储目录
- 【译】Federated Learning: Bringing Machine Learning to the edge with Kotlin and Android
- C#方法重载(overload)方法重写(override)隐藏(new)
- Cloud for Customer的shell布局介绍
- python算法面试_求职面试的Python算法
- “你在哪里上班?”“呵呵呵!”
- 人脸关键点: DCNN-Deep Convolutional Network Cascade for Facial Point Detection
- NFS==network file system
- 20172330 2018-2019-1 《程序设计与数据结构》实验一报告
- Daily Scrum 9.26
- uvalive 3938 Ray, Pass me the dishes! 线段树 区间合并
- pgadmin4 本地安装部署
- 基于ArcGIS 的GPS数据地图匹配
- 神经网络中的filter (滤波器)与kernel(内核)的概念
- ArcGIS学习总结(二)——空间数据处理
- 毕业设计 stm32老人跌倒检测预防系统 - 单片机 物联网 嵌入式
- 用 Python 实现浪漫表白程序
热门文章
- AI种番茄!腾讯xWUR智慧温室大赛预赛揭晓,农科院和三星等五队挺进决赛
- 基于SpringBoot,SpringSession和redis的会话共享
- Android常用开源框架
- 大剑无锋之介绍几个常见的网络协议且位于哪一层?【面试推荐】
- 看完你就晓得正向代理和反向代理了!
- javaSE各阶段练习题--工具类-常用类-递归-包装类-内部类
- 左神算法:在二叉树中找到累加和为指定值的最长路径长度(Java版)
- C语言 数据结构 栈(用链表实现)
- Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]
- linux got分析,聊聊Linux动态链接中的PLT和GOT(3)——公共GOT表项