简体   繁体   English

android从内部存储中删除文件,名称类似于

[英]android delete file from internal storage having name like something

I want to delete an existing file into internal storage from my android application,I have this peace of code that delete a file named 'my_filename' 我想从我的android应用程序中删除一个现有文件到内部存储中,我有这段代码可以删除名为“ my_filename”的文件

File dir = getFilesDir();
File file = new File(dir, "my_filename");
boolean deleted = file.delete();

My question is how can I delete a file having name like something, example: 我的问题是如何删除具有类似名称的文件,例如:

String fileNameLike='testfile';
File dir = getFilesDir();
File file = new File(dir, "%" + fileNameLike + "%");
boolean deleted = file.delete();

So my code need to delete the file having name like : testfile 所以我的代码需要删除具有以下名称的文件: testfile

    public void deleteFilesInSdcard(String dirPath,String delname) {
    File f = new File(dirPath+"/");
    File[] files = f.listFiles();
    for(int position=0;position<files.length;position++)
    {                       
        if(files[position].isDirectory())
        {               
            deleteFilesInSdcard(files[position].getAbsoluteFile().toString(),delname);
        }
        else
        {
              int slash= files[position].getName().lastIndexOf("/");
              String fna=files[position].getName().substring(slash+1);

              Log.i("File name ext",fna);
              if(fna.toLowerCase().matches(".*"+delname+".*"))
              {
                  File delf = new File(files[position].getAbsoluteFile().toString());
                  delf.delete();
              }

             // Log.i("File name",files[position].getAbsoluteFile().toString());                
        }                           
    }
  }

now you call 现在你打电话

   deleteFilesInSdcard("/sdcard","fileneedtodelte");
    String path =    Environment.getExternalStorageDirectory().toString()+"/Download";

        File f = new File(path);        
        File file[] = f.listFiles();


            for (File f1 : file)
            {
               if (f1.isFile() && f1.getPath().endsWith(".apk")) { f1.delete(); }
            }

This code is working, i list all the files under Download file and its working. 这段代码有效,我在“下载文件”下列出了所有文件及其工作方式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM