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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我为你着迷 金牌黑马   /  2014-12-2 20:30  /  1007 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 我为你着迷 于 2014-12-2 20:34 编辑
  1. import java.io.*;
  2. class FileDemo4
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                    File dir=new File("d:\\java0219");
  7.                    showDir(dir);
  8.         }
  9.         
  10.         public static void showDir(File dir)
  11.         {
  12.                 File[] files=dir.listFiles();
  13.                 for(int x=0;x<files.length;x++)
  14.                 {
  15.                         if(files[x].isDirectory())
  16.                               showDir(files[x]);
  17.                         else
  18.                               System.out.println(files[x]);
  19.                 }
  20.         }
  21. }
复制代码

大家好,这句话showDir(files[x]);我没看懂,就是为什么传递的是files[x]呢?或者
谁可以帮我把这段代码读一下呀?到底是怎么执行的呢?谢谢了。黑马币无限奉上啊。

3 个回复

倒序浏览

files[x]代表文件夹中的文件对象            
   判断是文件对象是是一个目录 如果是的话就将目录对象传递到showDir(File dir)方法中           其实相当于打开文件夹
知道文件对象不是目录时,就将文件打印


评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
我为你着迷 + 10 赞一个!
船长 + 1 赞一个!

查看全部评分

回复 使用道具 举报
文件遍历,其实就是递归的实际应用,理解了递归调用就不难理解了,可以看着打印的结果理解。

评分

参与人数 1黑马币 +10 收起 理由
我为你着迷 + 10 赞一个!

查看全部评分

回复 使用道具 举报
showDir函数接收的参数类型是不是File类型的对象?
files是不是File类对象的数组?
那files[x]不就File类对象数组中一个File类对象么
不就符合showDir的接收类型么

评分

参与人数 1黑马币 +10 收起 理由
我为你着迷 + 10 谢谢 亲

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马