Java显示目录文件列表和删除目录(2)

思路:
1.先列出一级目录和文件。
2.如果是目录,则加一个构成树形的前缀符号。然后再遍历这个目录,在此需要递归遍历。

import java.io.*; public class TreeFiles { public static void main(String[] args) { File dir = new File("d:/a"); System.out.println(dir.getName()); listChilds(dir,1); } public static void listChilds(File f,int level) { String prefix = ""; for(int i=0;i<level;i++) { prefix = "| " + prefix; } File[] files = f.listFiles(); for (File file : files) { if(file.isDirectory()) { System.out.println(prefix + file.getName()); listChilds(file,level+1); } else { System.out.println(prefix + file.getName()); } } } }

结果如下:

a | a.sql | b | | e | | | 1.txt | | | 2.txt | | | 3.txt | | f | | | 4.txt | | | 5.txt | | | 6.txt | back.log | c | | e | | | ace1.txt | | | ace2.txt | | | ace3.txt | | f | | | 4.txt | | | 5.txt | | | 6.txt | d | | a.java | | abc (1).txt | | abc (2).txt | | abc (3).txt | | b.java | | c.java 4.4 删除整个目录 import java.io.*; public class FileDelete { public static void main(String[] args) { File file = new File("d:/a"); rm(file); } public static void rm(File f) { if(!f.exists()){ System.out.println("file not found!"); return; } else if(f.isFile()) { f.delete(); return; } File[] dir = f.listFiles(); for(File file : dir) { rm(file); } f.delete(); } }

本文永久更新链接地址

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b6a8b7ab1271d947456854ec3c17940b.html