星空网 > 软件开发 > Java

打印显示指定目录的子目录或文件,层阶通过缩进体现,打印显示原则为先目录后文件

 1 import java.io.File; 2 import java.util.ArrayList; 3  4 public class DirFileShow 5 { 6   private static int count = 0;// tab计算器 7   // 通过递归显示文件夹和文件;排序规则为先显示文件夹再显示文件 8  9   public static void doSomething(File file)10   {11     // 路径检测是否存在12     if (!file.exists())13     {14       System.out.println("The specified path does not exist.please re-specify path and file.");15       System.exit(0);16     }17     // 实现递归18     if (null == file.listFiles())// (file.isFile() || 0 ==19                     // file.listFiles().length)递归出口若传入的file对象为文件或空文件夹则return;20     {21       return;22     }23     else24     {25       // 通过sort方法实现文件夹和文件排序并将file数组返回给files26       File[] files = sort(file.listFiles());27       // 打印文件树型结构28       for (File f : files)29       {30         String strTab = strTab(count);// 通过strTab方法获得“/t”值赋给strTab31         StringBuffer fileName = new StringBuffer();32         if (f.isFile())33         {34           fileName.append(strTab);35           fileName.append(f.getName());36           System.out.println(fileName.toString());37         }38         if (f.isDirectory())39         {40           fileName.append(strTab);41           fileName.append(f.getName());42           System.out.println(fileName.toString());43         }44         count++;45         doSomething(f);46         count--;47       }48     }49   }50 51   // 通过ArrayList集合实现文件夹和文件排序后转换为数组返回调用端52   private static File[] sort(File[] files)53   {54     ArrayList<File> list = new ArrayList<File>();55     for (File f : files)56     {57       if (f.isDirectory())58       {59         list.add(f);60       }61     }62     for (File f : files)63     {64       if (f.isFile())65       {66         list.add(f);67       }68     }69     return list.toArray(files);70   }71 72   // 根据cot值增加进位符73   private static String strTab(int val)74   {75     StringBuffer strTab = new StringBuffer();76     for (int i = 0; i < val; i++)77     {78       strTab.append("\t");79     }80     return strTab.toString();81   }82 83   public static void main(String[] args)84   {85     File file = new File("d:/");86     DirFileShow.doSomething(file);87   }88 }

 




原标题:打印显示指定目录的子目录或文件,层阶通过缩进体现,打印显示原则为先目录后文件

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

东莞快递公司到泰国:https://www.goluckyvip.com/tag/104046.html
广州的泰国物流公司:https://www.goluckyvip.com/tag/104047.html
东莞到泰国物流专线公司:https://www.goluckyvip.com/tag/104048.html
沙特:https://www.goluckyvip.com/tag/10405.html
泰国kerry快递查询:https://www.goluckyvip.com/tag/104051.html
泰国快递查询:https://www.goluckyvip.com/tag/104052.html
三亚有哪些酒店值得入住?:https://www.vstour.cn/a/366173.html
零售晚报:丽人丽妆2023年扭亏为盈 玉容初、美壹堂等自有品牌增速超40% :https://www.kjdsnews.com/a/1836649.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流