黑马程序员技术交流社区

标题: File 的一个问题 [打印本页]

作者: 学习代码    时间: 2014-5-12 14:47
标题: File 的一个问题
  1. class FileTest {
  2.         public static void main(String[] args)throws IOException {
  3.                 File f1 = new File("c:\\");
  4.                 //System.out.println(f1.delete());
  5.                 int count =0;
  6.                 File[] files=f1.listFiles();
  7.                 for(int i=0; i<files.length;i++){
  8.                         if(files[i].isFile()){
  9.                                 count++;
  10.                                 System.out.println(files[i].delete());
  11.                         }
  12.                 }
  13.                 System.out.println(count);
  14.         }

  15. }
复制代码

我就是想问一下 为什么我指定的目录下面,没有文件啊 为什么,count 会自增一次呢? 这是为什么呢?
作者: skill20    时间: 2014-5-12 15:06
有隐藏的吗?
作者: 学习代码    时间: 2014-5-12 15:23
skill20 发表于 2014-5-12 15:06
有隐藏的吗?

没有啊 就是不知道 怎么 就加上了  
作者: skill20    时间: 2014-5-12 16:14
学习代码 发表于 2014-5-12 15:23
没有啊 就是不知道 怎么 就加上了
我这个打印是0;
  1. public static void file(){
  2.                 File file = new File("D:\\a");
  3.                 File[] files = file.listFiles();
  4.                 int count = 0;
  5.                 for(int x = 0; x < files.length; x++){
  6.                         if(files[x].isFile()){
  7.                                 count++;
  8.                                 System.out.print(files[x].delete());
  9.                         }
  10.                 }
  11.                 System.out.println(count);
  12.                         
  13.         }
复制代码

作者: raikecody    时间: 2014-5-12 17:24
我打印也是0,我随便放了3个文件,打印了3,第二次再打印就是0了,LZ再试试

我估计是你C盘下有隐藏文件,你试试c:\\a,完后在a文件夹里放几个文件试试,应该就对了。
作者: 247033993@qq.co    时间: 2014-5-12 17:41
本帖最后由 247033993@qq.co 于 2014-5-12 17:44 编辑

有隐藏
你加上一句就可以知道
  1. <blockquote>public static void main(String[] args) {
复制代码

希望能解答你的疑惑



作者: 247033993@qq.co    时间: 2014-5-12 17:44
有隐藏
你加上一句就可以知道
  1. public static void main(String[] args) {
  2.                 // TODO Auto-generated method stub
  3.                  File f1 = new File("d:\\");
  4.          //System.out.println(f1.delete());
  5.          int count =0;
  6.          File[] files=f1.listFiles();
  7.          for(int i=0; i<files.length;i++){
  8.                  if(files[i].isFile()){
  9.                          System.out.println(files[i].getName());
  10.                          count++;
  11.                          System.out.println(files[i].delete());
  12.                  }
  13.          }
  14.          System.out.println(count);
  15.         }
复制代码


不知道能解决你的文体不
作者: Jero    时间: 2014-5-12 20:26
创建之前  先进行判断 看有没有 有的了在创建
作者: Jero    时间: 2014-5-12 20:27
回错了  判断有没有  没有了再进行创建




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