![](/img/trans.png)
[英]How do I find/list a file or directory with specific name inside a directory and its subdirectories in Java?
[英]A code that looks for a file name in a specific directory and store in in the array list
大家,早安,
我被困在這里的代碼,我試圖使之工作。 此代碼的目標是創建一個遞歸算法,以查找與目標文件名匹配的所有文件。 每個字符串應將路徑名存儲到匹配文件。 如果找不到匹配的文件,則返回null。 這是我到目前為止的內容:
import java.io.File;
import java.util.ArrayList;
public class ArrayListFiles
{
public static ArrayList searchForFile
(File dir, ArrayList filePaths, String target)
{
if (!dir.isDirectory())
return null;
else
{
File[] files=dir.listFiles();
for (int index = 0; index < filePaths; index++)
{
if(files[index].isFile())
{
if(files[index].getName().equals(target))
{
filePaths.add(files[index].toString());
}
}
else if(files[index].isDirectory())
searchForFile(files[index], filePaths, target);
}
}
return filePaths;
}
public static void main(String[] args)
{
ArrayList filePaths = new ArrayList();
File rootFolder = new File("F:\\java");
String targetFile = "sample.txt";
filePaths = searchForFile(rootFolder, filePaths, targetFile);
if(filePaths==null)
System.out.println("No file is found");
else
{
for (String string : filePaths)
{
System.out.println(string);
}
}
}
}
我對編程非常陌生,如果我遺漏了一些非常明顯的內容,請提前道歉。 在此先感謝您,祝您生活愉快!
解決此錯誤, "Type mismatch: cannot convert from element type Object to String" for "for (String string : filePaths).
”的代碼更改"Type mismatch: cannot convert from element type Object to String" for "for (String string : filePaths).
ArrayList<String> filePaths = new ArrayList<String>();
File rootFolder = new File("F:\\java");
String targetFile = "sample.txt";
filePaths = searchForFile(rootFolder, filePaths, targetFile);
if(filePaths==null)
System.out.println("No file is found");
else
{
for (String string : filePaths)
{
System.out.println(string);
}
}
FilePaths是一個arraylist,它應如下所示:
for (int index = 0; index < files.length; index++)
希望這可以幫助 。
這可能是您的問題:
int index = 0; index < filePaths; index++
FilePaths是一個數組列表,您將其用作整數。 您可能想遍歷文件? 嘗試
int index = 0; index < files.length; index++
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.