我写了一段计数某路径中的文件和文件夹一共有多少个的代码.每当程序运行完后,总是出现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;
}
}
}
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;
}
}
}
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++;
} }
}
还有我想问下楼主你的代码是在哪里运行的啊,我在myeclipse中运行你的代码没有出现异常啊。你给main方法的args数组赋值了吗?如果你都计算出文件数了,应该是赋值了才对啊