在java中如何遍历某个路径下的所有文件夹和文件

 我来答
十一__607
2013-08-26 · TA获得超过128个赞
知道答主
回答量:110
采纳率:0%
帮助的人:116万
展开全部
我们要遍历所有的路径,需要使用到java.io.File类,该类中有一个方法File[] listFiles();可以返回该文件下面所包含的所有子文件,String getPath();返回文件的全名称(包括路径),String getName(); 返回文件名。首先,我们先来遍历一下D盘根目录下所有的子文件:public static void fileList() { File file=new File("d:/"); File[] files = file.listFiles(); if (files != null) { for (File f : files) { System.out.println(f.getPath()); } } }对此,我们肯定不满足,我们需要遍历D盘下所有的文件和文件夹,而不是根目录下的文件夹,这个时候我们需要使用到递归:public static void fileList(File file) { File[] files = file.listFiles(); if (files != null) { for (File f : files) { System.out.println(f.getPath()); fileList(f); } } }然后在主函数中调用:public static void main(String[] args) { File file=new File("d:/"); fileList(file); }结果是不是能令你满意呢?显然,输出的都是全路径,我们可以对我们的递归函数做如下改进: public static void fileList(File file,int node) { node++; File[] files = file.listFiles(); if (files != null) { for (File f : files) { for(int i=0;i<node;i++){ if(i==node-1){ System.out.print("├"); } else{ System.out.print(" "); } } System.out.println(f.getName()); fileList(f,node); } } }然后再次在主函数中调用:public static void main(String[] args) { File file=new File("d:/"); fileList(file,0); }得到的结果是一个类似树状的结构,如果你对此还不满意,可以尝试给JTree上添加节点,可以做到和资源管理器中一样的结构。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式