1、我想输出遍历出来的文件总大小,为什么我的一换文件夹就重新初始化了?import java.io.*;
public class TestFile
{
public static void main(String[] args) 
{
File file=new File(args[0]);

listFile(file);
}
public static void listFile(File file){
File[] files=file.listFiles();
long sum=0;
for (int i=0;i<files.length ;i++ )
{
if (files[i].isFile())
{
System.out.println(files[i]+"大小="+files[i].length());
long a=files[i].length();
sum+=a;
}else {

listFile(files[i]);
}
}
System.out.println(sum);
}
}2、如何寻找有特定特征的文件?例如所有的“.java”文件

解决方案 »

  1.   

    getName()吗?然后判断的语句怎么写呢?想不出来了
      

  2.   

    因为你在递归内部重新初始化叻:
    long sum=0。
    你可以把sum作为递归函数的一个参数
      

  3.   

    .getName().toUpperCase().endsWith(".JAVA")
      

  4.   

    long sum= 0必须是全局变量,你用的是局部变量
      

  5.   

    或者楼主可以去实现一个接口 java.io.FileFilter直接就可以过滤掉
      

  6.   

    long sum= 0必须是全局变量