java删除文件夹

时间:2022-07-01 07:20:13

想删除本地一个项目目录,结果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;
}
} }