java列出目录结构:
import java.io.*; public class FolderList { /** * 显示文件结构 */ private static int spaceNum = 3; public static void main(String[] args) { File folder = new File("c:/java"); System.out.println(folder.getName());//打印根目录 showFiles(spaceNum,1,folder.listFiles()); } //显示文件:深度优先遍历(deepth为文件夹深度) private static void showFiles(int sapce,int deepth,File[] files) { StringBuffer spaceStr = new StringBuffer(); int tmp = deepth;//保存输入的deepth值,放在deepth--操作丢失数据 //添加空格 ,树形结构调整 for(int i=0;i< sapce;i++){ if((i%spaceNum==0)&&(deepth>=0)&&(i!=0)){ spaceStr.append("|"); deepth-- ; } spaceStr.append(" "); } spaceStr.append("|─"); for(File file : files){ System.out.println(spaceStr+file.getName()); //如果是文件夹,继续遍历 if(file.isDirectory()){ showFiles(sapce+spaceNum,tmp+1,file.listFiles()); } } } } D:\java>java FolderList HySnapDX |─HySnapDX | |─HySnapDX | | |─1.bmp | | |─2.bmp | | |─3.bmp | | |─4.bmp | | |─5.bmp | | |─6.bmp | | |─7.bmp | | |─8.bmp | | |─dxsnap.dll | | |─file_id.diz | | |─hsdx.cnt | | |─hsdx.exe | | |─hsdx.hlp | | |─hsdx.ini | | |─HSDX.lic | | |─HShelper.dll | | |─HSPro | | | |─hspro.dll | | | |─lfavi70n.dll | | | |─lfbmp70n.dll