导航:首页 > 编程语言 > java递归遍历目录

java递归遍历目录

发布时间:2024-10-29 15:40:31

java遍历一个文件夹中的所有文件---(递归)

public void traverseFolder2(String path) {

File file = new File(path);

if (file.exists()) {

File[] files = file.listFiles();

if (null == files || 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("文件不存在!");

}

}

(1)java递归遍历目录扩展阅读

public void traverseFolder1(String path) {

int fileNum = 0, folderNum = 0;

File file = new File(path);

if (file.exists()) {

LinkedList<File> list = new LinkedList<File>();

File[] files = file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

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

list.add(file2);

foldeNum++;

} else {

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

fileNum++;

}

}

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);

folderNum++;

} else {

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

fileNum++;

}

}

}

} else {

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

}

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

}

⑵ 用java递归方法实现

publicintfun(intn){
if(n==0||n==1)return1;
returnn*fun(n-1);
}

⑶ java怎么循环读取目录下的文件内容

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
1.不使用递归的方法调用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
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 static List<File> 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 List 递归算法..

无需JAVA递归取!

从设计角度看,表结构设计已经有问题了!
即使是树状结构,为何表结构没有体现?这也构成了为何楼主需要想办法来应对非树状结构数据的树状显示问题。

先进一步来说,表加一个grade字段,来表明当前记录处于第几级。那么直接一个SQL就可以取出来:
select lpad(' ',a.grade,'-')||a.name from myList a
这样就可以按楼主需要的结构取出数据;

但还存在一个问题,就是顺序问题,这样取出的数据是无序的!

那么我们再进一步看,我在做这种数据结构的表设计时,往往会给每个结点增加两个字段,left/right,分别代表其在树中的左右值。

这样就可以在上面SQL后增加order by a.left以保证取出数据的顺序。

阅读全文

与java递归遍历目录相关的资料

热点内容
企业透明加密软件有监视功能吗 浏览:492
桌面的运行命令 浏览:7
主流厂商服务器维护流程是什么 浏览:807
压缩棉的被子先洗洗在用 浏览:242
批处理bat代码和文件夹 浏览:296
怎么交叉编译tslib14 浏览:493
致程序员生产力飙升 浏览:760
程序员害怕下班吗 浏览:107
铁路汉宜线加密网实景效果图 浏览:929
php工作难找 浏览:440
微信拼手气红包源码 浏览:380
javaexcel公式计算 浏览:628
mastercam二维编程 浏览:384
加密协议aes和tkip 浏览:707
数据结构与算法彭军 浏览:770
二类app是什么意思 浏览:498
可示教编程的plc 浏览:404
好看的个人界面源码 浏览:882
手机加密文件夹解密方法 浏览:654
智能门锁只能添加密码不能修改 浏览:554