写了个小程序,运行时出现异常

smile080 2009-07-17 11:39:14
各位大虾好,小弟初学java,写了个文件搜索小程序,用于windows下特定文件或文件夹的搜索。代码如下,自个测试时,跑整个c盘没有问题,但跑其他盘的时候会出现空指针异常,小弟不解其意,望各位大虾不吝赐教

import java.io.File;

public class FileSearch {

/**
* @param args
*/
public static void main(String[] args) {
String [] paths = null;
if(args.length < 1 ){
System.out.println("参数输入错误,程序将重启。");
System.exit(1);
}
String name = args[0];
if(args.length>=2){
paths = new String [] {args[1]};
}else{
paths = new String []{"c:/","d:/","e:/","f:/"};
}

FileSearch fs = new FileSearch();
fs.splitFiles(name, paths);
}

private static void splitFiles(String name,String [] paths){
for(int i = 0;i<paths.length;i++){
File file = new File(paths[i]);
fileSearch(file,name);
}
}

private static void fileSearch(File file,String name){
if(file.exists()&&file.getName().contains(name)){
System.out.println(file.getPath());
}
if(file.exists()&&file.isDirectory()&&(file.listFiles().length>0)){
File [] files = file.listFiles();
for(int j = 0;j<files.length;j++){
fileSearch(files[j],name);
}
}
}
}

eg:
javac FileSearch.java
java FileSearch ems.sql d:/
(注:本人c盘文件系统格式为FAT32,其他盘符为NTFS 应该和这个没有关系吧?)
...全文
69 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
没有昵称阿 2009-07-17
  • 打赏
  • 举报
回复
文件不太懂!

期待高手啊!
xuzhaohui19860106 2009-07-17
  • 打赏
  • 举报
回复
5楼的的确是正确的
smile080 2009-07-17
  • 打赏
  • 举报
回复
呵呵,多谢各位,问题已解决。5楼的解决方案正确。
smile080 2009-07-17
  • 打赏
  • 举报
回复
呵呵,多谢各位,问题已解决。5楼的解决方案正确。
约翰羊 2009-07-17
  • 打赏
  • 举报
回复
估计可能是碰上有权限的文件夹或文件了吧。
加上个判断试试呗
if(file.exists()&&file.isDirectory()&&file.listFiles()!=null&&(file.listFiles().length>0)){
smile080 2009-07-17
  • 打赏
  • 举报
回复
补充一下:
程序运行时,并不是刚一运行就会出现空指针异常,而是在运行一段时间之后才会出现异常。所以我才说跑整个c盘没有问题,但是在想完整的跑完其他盘符时却出现异常了。
ouyangxiaokang6 2009-07-17
  • 打赏
  • 举报
回复
运行没问题,你自己debug一下,看看那行报的错误。
xinglongjian 2009-07-17
  • 打赏
  • 举报
回复
我刚测的可以运行啊,其他的盘也没事。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧