七叶笔记 » java编程 » java中如何删除文件

java中如何删除文件

java删除文件的方法:

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:\\temp\\pom.xml";// DeleteFileUtil.deleteDirectory(fileDir);DeleteFileUtil.delete(fileDir);DeleteFileUtil t = new DeleteFileUtil();delFolder("c:/bb");System.out.println("deleted"); }}

更多java知识请关注java基础教程。

相关文章