/** * Recursively deletes the folder * @param folder to be deleted */ public static void deleteRecursively (final @NonNull File folder) { assert folder != null; if (folder.isDirectory()) { File[] children = folder.listFiles(); if (children != null) { for (File file : children) { deleteRecursively(file); } } } folder.delete(); }
private void clean() { // remove the workdir(s) for (File d : workDirs) { FileObjects.deleteRecursively(d); } deleted.clear(); contentCache.first().clear(); contentCache.second().clear(); }
private static void deleteSigFiles(final URL root, final List<? extends ElementHandle<TypeElement>> toRemove) throws IOException { File cacheFolder = JavaIndex.getClassFolder(root); if (cacheFolder.exists()) { if (toRemove.size() > CLEAN_ALL_LIMIT) { //Todo: do as SlowIOTask FileObjects.deleteRecursively(cacheFolder); } else { for (ElementHandle<TypeElement> eh : toRemove) { final StringBuilder sb = new StringBuilder(FileObjects.convertPackage2Folder(eh.getBinaryName(),File.separatorChar)); sb.append('.'); //NOI18N sb.append(FileObjects.SIG); final File f = new File (cacheFolder, sb.toString()); f.delete(); } } } }