Как удалить все файлы по определенному пути к SDK?

Я хочу удалить все файлы по определенному пути к SDK. Я использую приведенный ниже код:

private void readFile(File[] file) {
   for (int i = 0; file != null && i < file.length; i++) {
     //now i check if it is a file or filename extension 
      if (file[i].isFile() && file[i].getName().endsWith("txt")) {
         fileList.add(file[i].toString());
      } else if (file[i].isDirectory()) {// if it is a file,recursive scanning
         File[] newFileList = new File(file[i].getAbsolutePath()).listFiles();
         readFile(newFileList);
      }
   }
}

Теперь я устанавливаю путь сканирования:

public void onStart(Intent intent, int startId) {
String res = "";
try {
fileList = new ArrayList();
File[] files = new File(FILEPATH).listFiles();
readFile(files);
for (File file : files) {
Log.i("syso", "" + file);
FileInputStream fin = new FileInputStream(file);
int length = fin.available();
byte[] buffer = new byte[length];
fin.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
// System.out.println(res);
boolean isDelete = file.delete();
if (isDelete = true) {
System.out.println("Deleted successful!!");
} else {
System.out.println("Deleted fail!!");
}

Я установил создание и удаление прав на файл в SDCard

0
добавлено отредактировано
Просмотры: 1
de
Попробуйте [это] [1], это может помочь вам. [1]: stackoverflow.com/questions/4943629/…
добавлено автор Ajay S, источник
вы предоставили разрешение на использование - разрешение android: name = "android.permission.WRITE_EXTERNAL_STORAGE" в манифесте android?
добавлено автор appukrb, источник

1 ответы

Я попробовал свой код, поскольку мне нужно приложение, которое удаляет некоторые файлы на моей SD-карте. На моем телефоне работает ваш код. Я только признал, что вы используете в следующей строке

if (isDelete = true) {

а не вместо оператора сравнения. Поэтому я полагаю, что оператор if всегда будет оценивать значение true и всегда печатает, что удаление было успешным, даже если удаление файла не удалось. я думаю

if (isDelete == true) {

это то, что вы хотели написать. Поскольку вы ничего не говорили о ваших конкретных проблемах с вашим кодом, я не знаю, как помочь вам, помимо тестирования вашего кода.

1
добавлено