各位大虾好,小弟初学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 应该和这个没有关系吧?)
* @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 应该和这个没有关系吧?)
解决方案 »
- appframework-1.0.3.jar 有人熟悉这个架包么
- SQLException的怪问题
- 对于这一小问~~我百思不得其解~~~郁闷了~~谁能指点迷津~~
- 大家都来帮忙或学习呀,如何得到一个指定的月中有几周? 谢谢
- 如何使用Java开源Swing外观!!急急!!
- 如何令这句输出日期型的数据的只有年月日呢?
- j2sdk1.4.1_01对电脑的最低要求是什么?我想买笔记本电脑编程,请大家给点提示
- 请问如何得到系统的时间,然后将时间形式改为:16:00:00 PM ?
- 我写二个模块.一个是用java写的套接字client/server端,和另一个用VC写的套接字client/server端通讯,请问能否可以实现通讯?套接字用berkel
- 模板问题 谢谢
- JFreeChart 的热点怎么能自己定义动态的参数啊,怎么能自己定义
- 请教JAVAC命令可用,JAVA命令不能用???
加上个判断试试呗
if(file.exists()&&file.isDirectory()&&file.listFiles()!=null&&(file.listFiles().length>0)){