Java递归实现输入任意目录,列出文件以及文件夹
2017-12-08 21:35
651 查看
import java.io.File; import java.util.ArrayList; import java.util.Scanner; public class IOPractice { public static ArrayList<String> dirs=new ArrayList<>(); public static ArrayList<String> files=new ArrayList<>(); public static void isDir(File file){ if(file.isDirectory()){ dirs.add(file.getName()); File[] list=file.listFiles(); for(File f : list){ isDir(f); } }else{ files.add(file.getName()); } } public static void main(String []args){ String filePath; Scanner in = new Scanner(System.in); filePath=in.nextLine(); File file=new File(filePath); isDir(file); int countforDir=0; int countforFile=0; System.out.println("文件夹有:"+IOPractice.dirs.size()+"个"); for (String dir : IOPractice.dirs){ countforDir++; System.out.printf("%20s",dir); if(countforDir%8==0){ System.out.println(); } } System.out.println(); System.out.println("----------------------------------------------------------------------------------------------"); System.out.println("文件有:"+IOPractice.files.size()+"个"); for(String f : IOPractice.files){ countforFile++; System.out.printf("%40s",f); if(countforFile%5==0){ System.out.println(); } } } }
一开始跑E盘发现程序直接崩了。。。检查代码发现逻辑没有问题,觉得可能是内存不够所以递归没办法一直跑下去。用较小的文件夹测试没有问题。
相关文章推荐
- 面试题-程序题-Java递归实现遍历文件目录(所有文件夹和子文件)
- java:递归实现输出目录下所有的文件(列出目录下所有的文件)
- java基础之File对象中的FilenameFilter文件过滤以及递归列出指定文件夹路径下的所有文件和所有文件夹
- 递归实现以树的形式输入某一个文件夹下的所有文件及目录,不要求图形界面
- JAVA 的递归方法查找目录下的文件和文件夹
- Qt 实现遍历文件夹和文件目录(递归)
- 利用IO的知识,实现一个程序列出某个目录下的所有的”.java”文件。
- Qt实现遍历文件夹和文件目录(递归)
- java------用File类列出一个目录下的所有文件夹和文件
- java代码实现移动文件以及文件夹
- Java删除文件夹以及文件夹下的子目录与文件
- 指定文件目录下搜索关键字(Java实现,递归方式)
- Java删除文件夹以及文件夹下的子目录与文件
- Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
- Java删除文件夹 及目录下 文件 递归操作
- 黑马程序员——list()返回该目录下文件,文件夹,listFiles()返回文件文,件夹对象,递归调用获取所有文件,文件夹,以及文件名过滤
- Java删除文件夹以及文件夹下的子目录与文件
- Qt 实现遍历文件夹和文件目录(递归)
- Java删除文件夹以及文件夹下的子目录与文件
- Thinkphp --- 实现递归取出文件以及文件夹