java删除文件夹
想删除本地一个项目目录,结果windows说路径太长,不能删除。于是试了试java删除。一切ok。以后一定要抓紧时间学python。
/** * Created by rmiao on 4/21/2016. */ public class TestDel { public static void main(String[] args) throws IOException { String dest = "D:\\perforce\\workspace2\\EPC"; File file = new File(dest); forceDelete(file); } private static void forceDelete(File file) throws IOException { if (file.isDirectory()){ deleteDirectory(file); }else{ boolean filePresent = file.exists(); if(!file.delete()){ if(!filePresent){ throw new FileNotFoundException("File does note exist:"+file); } String message = "Unable to delete file:"+file; throw new IOException(message); }else{ System.out.println("-"+file.getAbsolutePath()); } } } public static void deleteDirectory(File directory) throws IOException{ if (directory.exists()){ cleanDirectory(directory); } if(!directory.delete()){ String message = "Unable to delete directory "+directory+"."; throw new IOException(message); } } /** * Cleans a directory without deleting it. * * @param directory directory to clean * @throws IOException in case cleaning is unsuccessful */ public static void cleanDirectory(File directory) throws IOException { if (!directory.exists()) { String message = directory + " does not exist"; throw new IllegalArgumentException(message); } if (!directory.isDirectory()) { String message = directory + " is not a directory"; throw new IllegalArgumentException(message); } File[] files = directory.listFiles(); if (files == null) { // null if security restricted throw new IOException("Failed to list contents of " + directory); } IOException exception = null; for (File file : files) { try { forceDelete(file); } catch (IOException ioe) { exception = ioe; } } if (null != exception) { throw exception; } } }
关注我的公众号