黑马程序员技术交流社区
标题:
删除文件
[打印本页]
作者:
恩恩
时间:
2013-12-22 14:08
标题:
删除文件
在java中现在要做一个这样的功能,要删除一个文件,如果这个文件就是一个单独的文件直接删除,但是如果这个文件是一个目录,如何删除这个目录。我写了删除文件的代码。谁能给我讲一下如何删除整个目录。
public boolean delete( File file){
if(file != null){
if( file.isFile()){
return deleteFile(file);
}else{
return deleteDir(file);
}
}
return false ;
}
private boolean deleteFile(File file){
return file.delete() ;
}
复制代码
上面是删除文件的,谁能给我讲一下如何删除整个目录。
作者:
青菜白汤
时间:
2013-12-22 14:57
import java.io.File;
/**
*
* 删除文件或目录
*/
public class DeleteFileUtil {
/**
* 删除文件,可以是单个文件或文件夹
* @param fileName 待删除的文件名
* @return 文件删除成功返回true,否则返回false
*/
public static boolean delete(String fileName){
File file = new File(fileName);
if(!file.exists()){
System.out.println("删除文件失败:"+fileName+"文件不存在");
return false;
}else{
if(file.isFile()){
return deleteFile(fileName);
}else{
return deleteDirectory(fileName);
}
}
}
/**
* 删除单个文件
* @param fileName 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
file.delete();
System.out.println("删除单个文件"+fileName+"成功!");
return true;
}else{
System.out.println("删除单个文件"+fileName+"失败!");
return false;
}
}
/**
* 删除目录(文件夹)以及目录下的文件
* @param dir 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
复制代码
作者:
松毛
时间:
2013-12-22 15:36
Java中删除目录是先删除目录中的文件的,如果文件删除了,最后再将目录删除掉。
package com.itheima.test;
import java.io.File;
public class Test09 {
public static void main(String[] args) {
File f = new File("D:\\Java test");
deleteDir(f);
}
public static void deleteDir(File dir){
File[] files = dir.listFiles();
for(File file: files){
if(file.isDirectory()){
deleteDir(file); //如果该文件是目录则继续调用该函数
//System.out.println(file + "**file**" + file.delete());
}else
System.out.println(file + "**file**" + file.delete()); //如果该文件不是目录则直接删除掉该文件;
}
System.out.println(dir + "---Dir---" + dir.delete()); //目录中所有的文件删除后则再将目录删除;
}
}
复制代码
作者:
恩恩
时间:
2013-12-22 16:55
松毛 发表于 2013-12-22 15:36
Java中删除目录是先删除目录中的文件的,如果文件删除了,最后再将目录删除掉。
...
谢谢,我好好的看看
作者:
恩恩
时间:
2013-12-22 16:56
青菜白汤 发表于 2013-12-22 14:57
谢谢,你删除目录用的递归,我好好的看看。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2