簡體   English   中英

在整個SD卡中搜索特定文件

[英]Search entire sdcard for a specific file

我知道如何搜索文件,但是使用特定路徑,例如/ sdcard / picture / file。 有沒有一種方法可以搜索該特定文件。 示例:搜索文件。 然后,應用程序在/ sdcard / picture中找到它。 然后刪除它。

有什么幫助嗎? 謝謝(我知道如何刪除文件,但必須寫入整個路徑)

您可以從外部存儲/ SD卡的根目錄開始遞歸地解決該問題。

一些未經測試的代碼超出了我的腦海(方法名稱可能是錯誤的)

public File findFile(File dir, String name) {
    File[] children = dir.listFiles();

    for(File child : children) {
        if(child.isDirectory()) {
           File found = findFile(child, name);
           if(found != null) return found;
        } else {
            if(name.equals(child.getName())) return child;
        }
    }

    return null;
}

如果要在SD卡上查找該文件名的所有匹配項,則必須使用列表來收集和返回所有找到的匹配項。

嘗試這個:

public class Test {
    public static void main(String[] args) {
        File root = new File("/sdcard/");
        String fileName = "a.txt";
        try {
            boolean recursive = true;

            Collection files = FileUtils.listFiles(root, null, recursive);

            for (Iterator iterator = files.iterator(); iterator.hasNext();) {
                File file = (File) iterator.next();
                if (file.getName().equals(fileName))
                    System.out.println(file.getAbsolutePath());
                    file.delete();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM