簡體   English   中英

如何從Andorid的文件夾中刪除具有特定擴展名的文件

[英]How to delete files with a certain extension from a folder in Andorid

我是 Android 新手。 我生成一個錄音音頻文件,生成一個文本文件,壓縮這兩個文件並加密它們。

我想刪除以下擴展名 .txt、.mp4 和 .zip。 我只希望我的加密文件保留在包含 .txt 和 .mp4 的目錄中

我做了研究並遇到以下來源並嘗試修改它。

private static final String DEFAULT_STORAGE_DIRECTORY = "Recorder";
       private static final String FILE_RECORD_EXT = ".mp4";
       private static final String FILE_INI_EXT = ".txt";
       private static final String FILE_ZIP_EXT = ".zip";

       public static void main(String args[]) {
        new FileChecker().deleteFile(DEFAULT_STORAGE_DIRECTORY,FILE_RECORD_EXT,FILE_TXT_EXT);
       }

       public void deleteFile(String folder, String ext, String fileTxtExt){

         GenericExtFilter filter = new GenericExtFilter(ext);
         File dir = new File(folder);



         String[] list = dir.list(filter);

         if (list.length == 0) return;
         //Files 
         File fileDelete;

         for (String file : list){
         String temp = new StringBuffer(DEFAULT_STORAGE_DIRECTORY)
                          .append(File.separator)
                          .append(file).toString();
            fileDelete = new File(temp);
            boolean isdeleted = fileDelete.delete();
            System.out.println("file : " + temp + " is deleted : " + isdeleted);
         }
       }

       //inner class, generic extension filter 
       public class GenericExtFilter implements FilenameFilter {

           private String ext;

           public GenericExtFilter(String ext) {
             this.ext = ext;             
           }

           public boolean accept(File dir, String name) {
             return (name.endsWith(ext));
           }
        }
    }

您的幫助將不勝感激。

void deleteFiles(String folder, String ext)
{
    File dir = new File(folder);
    if (!dir.exists())
        return;
    File[] files = dir.listFiles(new GenericExtFilter(ext));
    for (File file : files)
    {
        if (!file.isDirectory())
        {
            boolean result = file.delete();
            Log.d("TAG", "Deleted:" + result);
        }
    }
}

這是我的工作代碼。 請按照內聯評論了解它的流程和功能。

    //dirpath= Directory path which needs to be checked
    //ext= Extension of files to deleted like .csv, .txt
  public void deleteFiles(String dirPath, String ext) {
    File dir = new File(dirPath);
     //Checking the directory exists
    if (!dir.exists())
        return;
    //Getting the list of all the files in the specific  direcotry
    File fList[] = dir.listFiles();

    for (File f : fList) {
         //checking the extension of the file with endsWith method.
        if (f.getName().endsWith(ext)) {
            f.delete();
        }
    }

}

暫無
暫無

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

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