JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
程序员文章站
2024-03-07 19:27:51
java 遍历文件夹下的所有文件(递归调用和非递归调用)
1.不使用递归的方法调用.
public void traversefolder1(string pa...
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 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<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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 轻松实现安卓(Android)九宫格解锁
下一篇: Asp.Net 生成静态页并实现分页效果