我写了一段计数某路径中的文件和文件夹一共有多少个的代码.每当程序运行完后,总是出现NullPointerException异常,不知道什么原因.文件和文件夹的总数已经算出来了,但是在算完之后出来一个NullPointerException异常,肯定是代码中有哪里不对的,请各位帮忙看看,谢谢啦!代码:import java.io.*;
public class FilesCounter
{
private static long filenum=0;//代表文件数
private static long folder=0;//代表文件夹数
public static void main(String[] args)throws Exception
{
Counter(args[0]);
System.out.println("文件数:"+filenum);
System.out.println("文件夹数:"+folder);
} public static void Counter(String path)throws Exception
{
File file=new File(path);
if(!file.exists())
{
System.out.println("错误:指定的路径不存在,请重新指定!");
System.exit(0);
}
if(file.isDirectory())
{
File[] files=file.listFiles();
for(File f:files)
{
if(f.isFile())
{
filenum=filenum+1;
}
else if(f.isDirectory())
{
folder=folder+1;
Counter(f.getPath());
}
}
}
else
{
filenum=filenum+1;
}
}
}

解决方案 »

  1.   


    import java.io.*;
    public class FilesCounter
    {
        private static int filenum=0;
        private static int folder=0;
        public static void main(String[] args)throws Exception
        {
            Counter(args[0]);
            System.out.println("文件数:"+filenum);
            System.out.println("文件夹数:"+folder);
        }    public static void Counter(String path)throws Exception
        {
            File file=new File(path);
            if(!file.exists())
            {
                System.out.println("错误:指定的路径不存在,请重新指定!");
                System.exit(0);
            }
            if(file.isDirectory())
            {
                File[] files=file.listFiles();
    if(files!=null){
                for(File f:files)
                {
                    if(f.isFile())
                    {
                        filenum=filenum+1;
                    }
                    else if(f.isDirectory())
                    {
                        folder=folder+1;
                        Counter(f.getPath());
                    }
                }
    }
            }else{
                  filenum++;
    }    }
    }
      

  2.   

    请问楼上的你的代码和楼主的代码有什么区别?
    还有我想问下楼主你的代码是在哪里运行的啊,我在myeclipse中运行你的代码没有出现异常啊。你给main方法的args数组赋值了吗?如果你都计算出文件数了,应该是赋值了才对啊