private void deleteLocation(LocationInfo info) { if (NavigineApp.Navigation == null) return; if (info != null) { try { (new File(info.archiveFile)).delete(); info.localVersion = -1; info.localModified = false; String locationDir = LocationLoader.getLocationDir(mContext, info.title); File dir = new File(locationDir); File[] files = dir.listFiles(); for (int i = 0; i < files.length; ++i) files[i].delete(); dir.delete(); String mapFile = NavigineApp.Settings.getString("map_file", ""); if (mapFile.equals(info.archiveFile)) { NavigineApp.Navigation.loadArchive(null); SharedPreferences.Editor editor = NavigineApp.Settings.edit(); editor.putString("map_file", ""); editor.commit(); } mAdapter.updateList(); } catch (Throwable e) { Log.e(TAG, Log.getStackTraceString(e)); } } }
/* * Deletes the file at the location passed. If the location is a * directory the method will return false. * Returns true if and only if the file was deleted; * returns false otherwise */ public static boolean deleteFile(File file) { if (file.isFile()) { if (file.delete()) { return true; } } return false; }
void removeFiles() throws IOException { BufferedReader reader = new BufferedReader(new FileReader(new File(sGREDir, "removed-files"))); try { for (String removedFileName = reader.readLine(); removedFileName != null; removedFileName = reader.readLine()) { File removedFile = new File(sGREDir, removedFileName); if (removedFile.exists()) removedFile.delete(); } } finally { reader.close(); } }
/* * Deletes the directory at the location passed. If deleteIfFull is true * then the method gets all the files in the directory and tries to delete * them. If deleteIfFull is false the method will attempt to delete the * directory. If the directory contains files, the method will return false. * Returns true if and only if the directory was deleted; * returns false otherwise */ public static boolean deleteDirectory(File dir, boolean deleteIfFull) { // Checks if the file exists and if it is actually a directory if (dir.exists() && dir.isDirectory()) { // Checks if deleteIfFull is true if (deleteIfFull) { // Goes through each file in the directory and attempts to delete them File[] files = dir.listFiles(); if (files != null) { for (File f : files) { f.delete(); } } } // If the directory was deleted successfully then return true if (dir.delete()) { return true; } } // Return false otherwise return false; }