Java递归实现输入任意目录,列出文件以及文件夹
来源:互联网 发布:北京索顿网络是培训吗 编辑:程序博客网 时间:2024/05/23 23:48
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盘发现程序直接崩了。。。检查代码发现逻辑没有问题,觉得可能是内存不够所以递归没办法一直跑下去。用较小的文件夹测试没有问题。
阅读全文
0 0
- Java递归实现输入任意目录,列出文件以及文件夹
- java递归列出文件目录
- 谈论Java递归列出文件目录结构
- Java递归列出目录下全部文件
- 递归--列出一个文件夹的子孙文件与目录
- 递归列出目录中的所有文件,包括子文件夹
- java:递归实现输出目录下所有的文件(列出目录下所有的文件)
- Java 递归列出目录下的文件以及子目录(未测试)
- 300.14 递归实现列出当前文件夹下的所有.java文件
- 递归算法 列出给定目录下的文件/java描述
- 递归算法 列出给定目录下的文件/java描述
- java例程练习(用递归方法列出文件目录)
- asp列出文件夹目录及文件目录
- java基础之File对象中的FilenameFilter文件过滤以及递归列出指定文件夹路径下的所有文件和所有文件夹
- Java 递归,利用递归阶乘累加以及打印文件夹目录
- Thinkphp --- 实现递归取出文件以及文件夹
- java递归删除文件以及文件夹
- java递归删除文件夹以及文件
- 实用网址链接
- apt-get update失败处理
- can not create a session after response is commited
- 搞科研(时序信号)
- 【学习笔记】字符串和编码
- Java递归实现输入任意目录,列出文件以及文件夹
- 542. 01 Matrix
- 机器学习作业9
- Java 的 多态
- ResourceExhaustedError: OOM when allocating tensor with shape[10,256,400,528]
- LeetCode-020 Valid Parentheses
- python logging日志模块的应用
- 杭电ACM OJ 1042 N! java大数乘法BigInteger
- 杭电5461———Largest Point