黑马程序员技术交流社区

标题: 视频外的问题(参考书上的疑惑) [打印本页]

作者: 何创    时间: 2012-12-25 14:38
标题: 视频外的问题(参考书上的疑惑)
看课外书 突然看到这样一个问题:没想明白~
编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件夹.代码是这样的:
import java.io.*;
public class FileList { public static void main(String[] args)
{
File f = new File("d:/A");
System.out.println(f.getName());
tree(f, 1);
}  
private static void tree(File f, int level)
{   
String preStr = "";
for(int i=0; i<level; i++) {   preStr += "    ";
  }   
File[] childs = f.listFiles();  
for(int i=0; i<childs.length; i++)
{   
System.out.println(preStr + childs[i].getName());
  if(childs[i].isDirectory())
{   
tree(childs[i], level + 1);     
   }
     }
   }
}
我有个地方不明白:File[] childs = f.listFiles();这句中得到的childs[]数组是那个文件夹??
作者: 何创    时间: 2012-12-25 14:39
我意思是问它得到的是哪个文件夹??为什么啊···
作者: 黄锦成    时间: 2012-12-25 14:57
File f = new File("d:/A"); File[] childs = f.listFiles();
第一次得到的是d:/A里面的文件(包括文件夹),之后迭代的是d:/A里面的文件夹

作者: 玉米    时间: 2012-12-25 16:22
{:soso__8961432591078930798_3:} 好好学吧 楼主
作者: 陈进    时间: 2012-12-26 21:51
加油学习啊。。。
作者: 清水    时间: 2012-12-27 19:46
递归的思想,如果是文件夹,继续递归,如果不是文件夹。就算了。
File[] childs = f.listFiles();
childs是File对象数组,里面是f这个文件夹里的文件和文件夹




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2