[英]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.