日期:2014-05-20  浏览次数:20838 次

求助!now,,爲什麽沒有輸出結果啊
import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;

public class MainClass {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入要搜索的文件类型,例如:exe、 mp3、 doc等,输入*表示匹配所有类型");
FileSearch.FILE_EXTENSION = scan.next();

System.out.println("请输入关键字:(输入nokeyword,表示没有关键字)");
FileSearch.KEY_WORD = scan.next();

System.out.println("请输入要搜索的地址:例如:\"C:\\\\soft");
String filePath = scan.next();

FileSearch.searchFileList(filePath);

for (int i = 0; i < FileSearch.fileNames.size(); i++) {
System.out.println(FileSearch.fileNames.get(i));
}
}

}

class FileSearch {
static String FILE_EXTENSION = null;
static String KEY_WORD = null;
static ArrayList<String> fileNames = new ArrayList<String>();

public static void searchFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles();

if (files == null) {
return;
}

for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
searchFileList(files[i].getAbsolutePath());
} else {
String fileName = files[i].getAbsolutePath();
if (fileName.endsWith(FILE_EXTENSION)) {
if (KEY_WORD.equals("nokeyword")) {
fileNames.add(fileName);
} else if (fileName.contains(KEY_WORD)) {
fileNames.add(fileName);
}
}
}
}
}
}


------解决方案--------------------
程序中没有说明 输入*表示匹配所有类型
if (fileName.endsWith(FILE_EXTENSION)) 只能判断exe、 mp3、 doc等后缀
需要添加判断*的if else

其他的没有问题
------解决方案--------------------
帮顶。。。。3分。。。。