这是一个半家庭作业,我已经尝试了很长时间,但没有运气,基本上我正在做一个类似搜索引擎的程序,我在我的目录+它们的子目录中读取文件并读取文本文件以搜索匹配项,我无休止地搜索,但没有明确的答案,所以如果有人能提供帮助,我将不胜感激。
这是我最好的尝试,但它的问题是它只从子目录中获取文件而忽略了主/根目录,试图找出原因但不能。
public void indexDirectory(File dir) {
for(int i=0;i<50;i++)
ls[i]=new LinkList();//array of Linked lists to store addresses of each Linked list that has a file
try{
files= dir.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory())
indexDirectory(files[i]);
if(files[i].isFile()){
if(files[i]!=null)
indexFile(files[i]);
} //end if(isFile)
} //end For loop
}catch(FileNotFoundException e){
System.out.println("error ");
}}
在搜索网络并尝试模仿我发现的内容后的第二个版本,但遗憾的是没有工作。
public void indexDirectory(File dir) {
for(int i=0;i<50;i++)
ls[i]=new LinkList();
try{
if(dir.isFile()){
indexFile(dir); //this method takes each directory and read the words and save them in
// array of linked list
}
else if(dir.isDirectory()){
files= dir.listFiles();
if(files!=null) {
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()){
indexDirectory(files[i]); //recursive call
}}
}catch(FileNotFoundException e){
System.out.println("error ");
}}