我写了一段计数某路径中的文件和文件夹一共有多少个的代码.每当程序运行完后,总是出现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;
}
}
}
解决方案 »
- 是不是只能在静态方法内才能new对象? 外部不可以?
- Java char类型 以UTF-16 Big Endian 的方式保存一个字符
- 请问VM中的监听是如何实现的呢?
- 关于java中StringBuffer和String对象在内存中的删除和拷贝
- JNI使用的问题?
- 关于jdbc的紧急求救~~~!在线等........
- 怎么样得到一些系统环境变量?
- ******************Question******************Help me!!!!!!!!!!!!!
- rmi客户不能向服务器传送*.class 请问可能有哪些原因???
- 小错误,请指点!!!急!!!
- 求助?小程序编译不过??
- 开启tomcat在IE中打入localhost:8080/JSP网页需要输入密码如下
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数组赋值了吗?如果你都计算出文件数了,应该是赋值了才对啊