java删除文件和文件夹
2010-04-09 10:11
357 查看
1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)
// 验证字符串是否为正确路径名的正则表达式
private static String matches = "[A-Za-z]:////[^:?/"><*]*";
// 通过 sPath.matches(matches) 方法的返回值判断是否正确
// sPath 为路径字符串
2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件
/**
* 根据路径删除指定的目录或文件,无论存在与否
*@param sPath 要删除的目录或文件
*@return 删除成功返回 true,否则返回 false。
*/
public
boolean
DeleteFolder(String sPath) {
flag = false
;
file = new
File(sPath);
// 判断目录或文件是否存在
if
(!file.exists()) {
// 不存在返回 false
return
flag;
} else
{
// 判断是否为文件
if
(file.isFile()) {
// 为文件时调用删除文件方法
return
deleteFile(sPath);
} else
{
// 为目
录时调用删除目录方法
return
deleteDirectory(sPath);
}
}
}
3,实现删除文件的方法,
/**
* 删除单个文件
* @param sPath 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public
boolean
deleteFile(String sPath) {
flag = false
;
file = new
File(sPath);
// 路径为文件且不为空则进行删除
if
(file.isFile() && file.exists()) {
file.delete();
flag = true
;
}
return
flag;
}
4,实现删除文件夹的方法,
/**
* 删除目录(文件夹)以及目录下的文件
* @param sPath 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public
boolean
deleteDirectory(String sPath) {
//如果sPath不以文件分隔符结尾,自动添加文件分隔符
if
(!sPath.endsWith(File.separator)) {
sPath = sPath + File.separator;
}
File dirFile = new
File(sPath);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if
(!dirFile.exists() || !dirFile.isDirectory()) {
return
false
;
}
flag = true
;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for
(
int
i =
0
; i < files.length; i++) {
//删除子文件
if
(files[i].isFile()) {
flag = deleteFile(files[i].getAbsolutePath());
if
(!flag)
break
;
} //删除子目录
else
{
flag = deleteDirectory(files[i].getAbsolutePath());
if
(!flag)
break
;
}
}
if
(!flag)
return
false
;
//删除当前目录
if
(dirFile.delete()) {
return
true
;
} else
{
return
false
;
}
}
5,main() 方法
public
static
void
main(String[] args) {
HandleFileClass hfc = new
HandleFileClass();
String path = "D://Abc//123//Ab1"
;
boolean
result = hfc.CreateFolder(path);
System.out.println(result);
path = "D://Abc//124"
;
result = hfc.DeleteFolder(path);
System.out.println(result);
}
// 验证字符串是否为正确路径名的正则表达式
private static String matches = "[A-Za-z]:////[^:?/"><*]*";
// 通过 sPath.matches(matches) 方法的返回值判断是否正确
// sPath 为路径字符串
2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件
/**
* 根据路径删除指定的目录或文件,无论存在与否
*@param sPath 要删除的目录或文件
*@return 删除成功返回 true,否则返回 false。
*/
public
boolean
DeleteFolder(String sPath) {
flag = false
;
file = new
File(sPath);
// 判断目录或文件是否存在
if
(!file.exists()) {
// 不存在返回 false
return
flag;
} else
{
// 判断是否为文件
if
(file.isFile()) {
// 为文件时调用删除文件方法
return
deleteFile(sPath);
} else
{
// 为目
录时调用删除目录方法
return
deleteDirectory(sPath);
}
}
}
3,实现删除文件的方法,
/**
* 删除单个文件
* @param sPath 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public
boolean
deleteFile(String sPath) {
flag = false
;
file = new
File(sPath);
// 路径为文件且不为空则进行删除
if
(file.isFile() && file.exists()) {
file.delete();
flag = true
;
}
return
flag;
}
4,实现删除文件夹的方法,
/**
* 删除目录(文件夹)以及目录下的文件
* @param sPath 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public
boolean
deleteDirectory(String sPath) {
//如果sPath不以文件分隔符结尾,自动添加文件分隔符
if
(!sPath.endsWith(File.separator)) {
sPath = sPath + File.separator;
}
File dirFile = new
File(sPath);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if
(!dirFile.exists() || !dirFile.isDirectory()) {
return
false
;
}
flag = true
;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for
(
int
i =
0
; i < files.length; i++) {
//删除子文件
if
(files[i].isFile()) {
flag = deleteFile(files[i].getAbsolutePath());
if
(!flag)
break
;
} //删除子目录
else
{
flag = deleteDirectory(files[i].getAbsolutePath());
if
(!flag)
break
;
}
}
if
(!flag)
return
false
;
//删除当前目录
if
(dirFile.delete()) {
return
true
;
} else
{
return
false
;
}
}
5,main() 方法
public
static
void
main(String[] args) {
HandleFileClass hfc = new
HandleFileClass();
String path = "D://Abc//123//Ab1"
;
boolean
result = hfc.CreateFolder(path);
System.out.println(result);
path = "D://Abc//124"
;
result = hfc.DeleteFolder(path);
System.out.println(result);
}
相关文章推荐
- 用java删除文件夹里的所有文件
- JAVA利用递归删除文件和文件夹
- java 删除文件夹下所有文件(java delete folder)
- Java 删除文件夹和子文件夹中的所有文件
- JAVA删除文件夹和文件
- java删除文件和文件夹
- 学习笔记 - java递归删除一个文件夹及里面的所有文件
- java 递归实现删除或查询指定文件夹下的所有文件
- Java 删除文件夹和子文件夹中的所有文件
- JAVA删除某一目录下的所有文件及文件夹(linnux环境)
- Java递归遍历删除拷贝文件以及获取文件夹大小
- java实现删除文件夹及文件夹下所有文件
- java 删除指定文件夹 以及文件下下面的所有文件
- Java的copy文件和文件夹以及删除文件夹(包括递归与非递归算法)
- java定时删除文件夹及文件
- java io 使用递归删除指定的文件夹及其子文件夹和文件 先测试再正式使用哦
- java 删除文件和删除文件夹下面的文件
- java删除文件或文件夹及子文件夹
- Java 根据定路径删除文件和文件夹下的所有文件
- Java在Linux下创建文件,文件夹,删除,拷贝文件的命令