A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 想要那片海 中级黑马   /  2015-5-30 09:52  /  399 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 想要那片海 于 2015-5-30 10:07 编辑

如果要查找的文件目录下还有文件夹,通过递归查找子文件夹失败,请帮忙看看是哪里代码除了问题?

  1. <font size="2">import java.io.*;
  2. import java.util.ArrayList;

  3. public class SearchFile {

  4.         public static void main(String[] args) {
  5.                 // TODO Auto-generated method stub
  6.                 File dir=new File("E:\\java123\\test");               
  7.                 search(dir);
  8.         }
  9.         public static void search(File dir)
  10.         {
  11.                 if( (!dir.exists())&&(!dir.isDirectory()))
  12.                         throw new RuntimeException("路径不合法");
  13.                 PrintWriter bufw=null;
  14.                 File[] files=dir.listFiles();
  15.                 ArrayList<String> list=new ArrayList<String>();        
  16.                 list.add(dir.getAbsolutePath());
  17.                 for(int x=0;x<files.length;x++)
  18.                 {                                       
  19.                         if(files[x].isDirectory())
  20.                         {                                
  21.                                 search(files[x]);
  22.                                 System.out.println("继续查找文件夹"+files[x].getAbsolutePath());
  23.                         }
  24.                         else
  25.                         {
  26.                                 if(files[x].getName().endsWith(".java"))
  27.                                 {
  28.                                         list.add(files[x].getName());
  29.                                 }
  30.                                 else
  31.                                         continue;
  32.                         }
  33.                 }
  34.                 try
  35.                 {
  36.                         bufw=new PrintWriter(new FileWriter("E:\\java123\\黑马考试\\练习题\\文件列表2015-5-30.txt"));
  37.                         for(String file:list)
  38.                         {
  39.                                 bufw.println(file);
  40.                         }
  41.                         System.out.println("文件列表获取异常");
  42.                 }
  43.                  catch (IOException e) {
  44.                         // TODO Auto-generated catch block
  45.                         System.out.println("文件列表获取异常");
  46.                 }
  47.                 finally
  48.                 {
  49.                         try
  50.                         {
  51.                                 if(bufw!=null)
  52.                                         bufw.close();
  53.                         }
  54.                         catch (Exception e) {
  55.                                 System.out.println("流关闭异常");
  56.                         }
  57.                 }
  58.         }
  59.         
  60. }</font>
复制代码



6 个回复

倒序浏览
版主明鉴,自己把问题解决了,我这真不是灌水

搜狗截图20150530100547.jpg (140.34 KB, 下载次数: 7)

搜狗截图20150530100547.jpg
回复 使用道具 举报
刚好我也看到io那里!
回复 使用道具 举报
楼主  我注意到你很久了~~~~经常看到你 额  不过我是顺便帮我舍友混一下论坛  所以我是两个号 还有一个xgd6612~~~~
回复 使用道具 举报
楼主,你又在调戏人,:lol
刚发完帖子,又自己把问题解决了:D

不过,很厉害的样子
回复 使用道具 举报
啊哦啊哦
回复 使用道具 举报
路过看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马