不懂,来学习。
给你想法,可以用jni不?

解决方案 »

  1.   

    這樣行不行:
    File f=new File(path);
    File[] =f.listFiles(DirFilter) ;
    //get file.lengthclass DirFilter implements FilenameFilter 
    {
         public boolean accept(File dir, String name) 
         {
              return new File(name).isFile()
         }
    }
      

  2.   

    是啊!这个方法我知道,递归加filter。可就是这样太慢啊!
    想直接用OS的东东。
      

  3.   

    去vc那边找个dll,用jni,取返回值。
      

  4.   

    可用isfile
    用个变量作计数
    如果isfile返回真
    则变量加一
    也可用puublic String []list
      

  5.   

    好久没用C了,基本都忘了,C++要用的还得从头学。哪位大虾说说怎么用JNI,调用OS中统计文件数的函数?
    TO:qipufan(浦饭幽助)你这是Java的办法,百十个文件还行,多了效率奇低!!!
      

  6.   

    同感,特别是java找网络,慢到呕血。
      

  7.   

    关注
    不知诸位测试速度如何?
    我用DIR做了个(未优化)
    116231个文件大概用了2分钟不到
      

  8.   

    TO:zjq1980(阿易) 11万2分钟,不错了!
    能不能详细说说什么是dir?怎么用?如果优化该怎么办?此问题100分啊!!
      

  9.   

    TO: littlegang(Gang)你在WINDOWS中右键选中目录->属性,就可以统计到该目录下的子目录数和文件数啊!我想应该有的吧!
      

  10.   

    DIR就是调用系统系统COMMAND命令(当然是WINDOWS)了
    好像也优化不了了
    感觉应该是系统运行DIR的时间加上程序处理的时间才对
    但是在系统中运行DIR竟然花的时间还多些,估计是用在打印上了
      

  11.   

    用 dir /a /s > null 会速度快很多,屏幕显示花较多的时间to  eshow : 右键-属性能显示统计数字并不表示是一个API完成的功能,而是explore.exe中通过编程(只是微软程序人员编好了的)完成的功能
      

  12.   

    to littlegang(Gang) :
    我的办法就是利用dir的输出,当然不能 >null 了