java中如何删除文件
内容摘要
java删除文件的方法:package test816;
import java.io.File;
/**
*
* 删除文件或目录
*
*/
public class DeleteFileUtil {
/**
* 删除文件,可以是单个文件或
import java.io.File;
/**
*
* 删除文件或目录
*
*/
public class DeleteFileUtil {
/**
* 删除文件,可以是单个文件或
文章正文
java删除文件的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | package test816; 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; } 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 ; } } // 删除文件夹 // param folderPath 文件夹完整绝对路径 public static void delFolder(String folderPath) { try { delAllFile(folderPath); // 删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath. delete (); // 删除空文件夹 } catch (Exception e) { e.printStackTrace(); } } // 删除指定文件夹下所有文件 // param path 文件夹完整绝对路径 public static boolean delAllFile(String path) { boolean flag = false ; File file = new File(path); if (!file.exists()) { return flag; } if (!file.isDirectory()) { return flag; } String[] tempList = file.list(); File temp = null ; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp. delete (); } if (temp.isDirectory()) { delAllFile(path + "/" + tempList[i]); // 先删除文件夹里面的文件 delFolder(path + "/" + tempList[i]); // 再删除空文件夹 flag = true ; } } return flag; } public static void main(String[] args) { // String fileName = "g:/temp/xwz.txt"; // DeleteFileUtil.deleteFile(fileName); String fileDir = "D: emppom.xml" ; // DeleteFileUtil.deleteDirectory(fileDir); DeleteFileUtil. delete (fileDir); DeleteFileUtil t = new DeleteFileUtil(); delFolder( "c:/bb" ); System.out.println( "deleted" ); } } |
代码注释
[!--zhushi--]