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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Fc10232 于 2012-5-19 16:41 编辑
  1. import java.io.File;

  2. public class FileDemo02 {

  3.         public static void main(String[] args) {
  4.                 String s = "d:";
  5.                 File file = new File(s);
  6.                 if (!(file.isDirectory())) {
  7.                         System.out.println("输入的不是目录,请重新输入:");
  8.                         System.exit(1);
  9.                 } else {
  10.                         System.out.println("你输入的文件目录是:");
  11.                         print(file);

  12.                 }
  13.         }

  14.         public static void print(File file) {

  15.                 File[] f = file.listFiles();

  16.                 for (int i = 0; i < f.length; i++) {
  17.                                         if (f[i].isDirectory()) {
  18.                                 print(f[i]);
  19.                         } else {
  20.                                 System.out.println(f[i]);
  21.                         }
  22.                 }
  23.         }
  24. }
复制代码
为什么System.out.println("你输入的文件目录是:");  这句话没有输出

点评

输出了啊,你还个文件夹,试一试,你搞的D盘 可能因为文件太多了 一运行 输出的东西太多了 最开始输出的“你输入的文件目“被挤掉了  发表于 2012-5-19 14:10

7 个回复

倒序浏览
                String s = "d:";
                File file = new File(s);
                if (!(file.isDirectory())) {                                                       //是因为你的if (!(file.isDirectory())) 判断满足了,所以
                        System.out.println("输入的不是目录,请重新输入:");
                        System.exit(1);
                } else {
                        System.out.println("你输入的文件目录是:");
                        print(file);

                }
因为你传入的文件存在,传入的是D:,if (!(file.isDirectory())) 判断满足了,
如果if (!(file.isDirectory())) 这条语句判断为假,会执行else语句的
如果if (!(file.isDirectory())) 为真,是不会执行这条语句的else {
                        System.out.println("你输入的文件目录是:");
                        print(file);
                }

回复 使用道具 举报
用你的代码在我的机子上就可以输出,结果如下:
你输入的文件目录是:
d:\.classpath
d:\.project
d:\heima
你看看你的d盘下没有没有子文件。没有走else!
d:\test

回复 使用道具 举报
韩国军 发表于 2012-5-19 12:34
String s = "d:";
                File file = new File(s);
                if (!(file ...

你回答的不对
回复 使用道具 举报
黑马张健 发表于 2012-5-19 12:42
用你的代码在我的机子上就可以输出,结果如下:
你输入的文件目录是:
d:\.classpath

有呀   其他的都输出了  但是就是没有输出那句话
回复 使用道具 举报
我也执行了这个程序,没有错误,把我D盘上的文件路径全打印出来了。
您输入的文件目录是:d:\java等等。如果您的D盘下有文件的话那应该是您编译时候的问题,或许您应该重新保存文件再重新编译一下。
回复 使用道具 举报
凡延海 发表于 2012-5-19 13:07
我也执行了这个程序,没有错误,把我D盘上的文件路径全打印出来了。
您输入的文件目录是:d:\java等等。如 ...

肯定的啦   这个我也知道  但是其他的都输出了  该出来的就是没出来啊
回复 使用道具 举报
{:soso__8961432591078930798_3:}版主厉害········
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马