Java 删除指定文件 和文件夹 注意区分相对路径和绝对路径
2017-07-11 10:12
766 查看
import java.io.File;
public class fileTest {
public static void main(String []args){
String strVectorFile = "D:\\test\\test.txt";
deleteFile(strVectorFile);
String strVectorDir = "D:\\test2";
deleteDirectory(strVectorDir);
}
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
Boolean succeedDelete = file.delete();
if(succeedDelete){
System.out.println("删除单个文件"+fileName+"成功!");
return true;
}
else{
System.out.println("删除单个文件"+fileName+"失败!");
return true;
}
}else{
System.out.println("删除单个文件"+fileName+"失败!");
return false;
}
}
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
File dirFile = new File(dir);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if(!dirFile.exists() || !dirFile.isDirectory()){
System.out.println("删除目录失败"+dir+"目录不存在!");
return false;
}
boolean 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){
System.out.println("删除目录失败");
return false;
}
//删除当前目录
if(dirFile.delete()){
System.out.println("删除目录"+dir+"成功!");
return true;
}else{
System.out.println("删除目录"+dir+"失败!");
return false;
}
}
}
public class fileTest {
public static void main(String []args){
String strVectorFile = "D:\\test\\test.txt";
deleteFile(strVectorFile);
String strVectorDir = "D:\\test2";
deleteDirectory(strVectorDir);
}
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
Boolean succeedDelete = file.delete();
if(succeedDelete){
System.out.println("删除单个文件"+fileName+"成功!");
return true;
}
else{
System.out.println("删除单个文件"+fileName+"失败!");
return true;
}
}else{
System.out.println("删除单个文件"+fileName+"失败!");
return false;
}
}
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
File dirFile = new File(dir);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if(!dirFile.exists() || !dirFile.isDirectory()){
System.out.println("删除目录失败"+dir+"目录不存在!");
return false;
}
boolean 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){
System.out.println("删除目录失败");
return false;
}
//删除当前目录
if(dirFile.delete()){
System.out.println("删除目录"+dir+"成功!");
return true;
}else{
System.out.println("删除目录"+dir+"失败!");
return false;
}
}
}
相关文章推荐
- Java删除指定路径下所有文件和文件夹
- 黑马程序员---找出指定文件夹.java文件,列出他们的绝对路径,并计算出数量
- Java源码——文件/文件夹的路径分析(相对/绝对)(File and Directory Info Inquiry)
- 用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出 .
- java 路径(绝对路径/相对路径) 路径名 目录 文件夹 文件
- java删除指定路径下所有的文件, 及该文件夹里的所有文件夹,不包括该文件夹
- 用JAVA扫描指定文件夹下面所有以.txt结尾的文件,并将其绝对路径输出
- JAVA 一个简单的文件写入代码(遍历文件夹获取所有文件、写入缓冲池、获取文件绝对路径、按后缀名过滤文件)
- java删除指定文件夹或者文件
- java io 使用递归删除指定的文件夹及其子文件夹和文件 先测试再正式使用哦
- java实现检索指定路径下的所有的下属文件夹和文件
- 【java编程】IO流之得到指定目录下.java文件的绝对路径
- java/android 统计文件夹大小及删除文件夹下所有文件和路径
- java递归删除指定目录下的文件和文件夹
- 无法删除文件夹 出现:无法删除Cmcmcmcm:找不到指定文件。请确定指定的路径及文件名是否正确。
- 【java删除指定文件夹或者文件】
- SD卡指定路径删除文件或者文件夹
- java基础之File对象中的FilenameFilter文件过滤以及递归列出指定文件夹路径下的所有文件和所有文件夹
- java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中
- java删除指定文件夹下的文件和目录