最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)
时间:2017-02-28 编辑:简简单单 来源:一聚教程网
1.不使用递归的方法调用.
代码如下 | 复制代码 |
publicvoidtraverseFolder1(String path) { intfileNum =0, folderNum =0; File file =newFile(path); if(file.exists()) { 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.使用递归的方法调用.
代码如下 | 复制代码 |
publicvoidtraverseFolder2(String path) {
File file =newFile(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,
代码如下 | 复制代码 |
publicstaticList File dir =newFile(strPath); File[] files = dir.listFiles();// 该文件目录下文件全部放入数组 if(files !=null) { for(inti =0; i < files.length; i++) { String fileName = files[i].getName(); if(files[i].isDirectory()) {// 判断是文件还是文件夹 getFileList(files[i].getAbsolutePath());// 获取文件绝对路径 }elseif(fileName.endsWith("avi")) {// 判断文件名是否以.avi结尾 String strFileName = files[i].getAbsolutePath(); System.out.println("---"+ strFileName); filelist.add(files[i]); }else{ continue; } }
} returnfilelist; } |
相关文章
- C语言 实现遍历一个文件夹的所有文件的教程 02-09
- python文件遍历的例子 10-28
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24