Java 代码完成删除文件、文件夹操作
import java.io.File;
/**
?* 刪除文件和目錄
?*
?*/
public class DeleteFileUtil {
??? /**
???? * 刪除文件,可以是文件或文件夾
???? *
???? * @param fileName
???? *??????????? 要?jiǎng)h除的文件名
???? * @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);
??????? }
??? }
??? /**
???? * 刪除單個(gè)文件
???? *
???? * @param fileName
???? *??????????? 要?jiǎng)h除的文件的文件名
???? * @return 單個(gè)文件刪除成功返回true,否則返回false
???? */
??? public static boolean deleteFile(String fileName) {
??????? File file = new File(fileName);
??????? // 如果文件路徑所對應(yīng)的文件存在,并且是一個(gè)文件,則直接刪除
??????? if (file.exists() && file.isFile()) {
??????????? if (file.delete()) {
??????????????? System.out.println("刪除單個(gè)文件" + fileName + "成功!");
??????????????? return true;
??????????? } else {
??????????????? System.out.println("刪除單個(gè)文件" + fileName + "失敗!");
??????????????? return false;
??????????? }
??????? } else {
??????????? System.out.println("刪除單個(gè)文件失敗:" + fileName + "不存在!");
??????????? return false;
??????? }
??? }
??? /**
???? * 刪除目錄及目錄下的文件
???? *
???? * @param dir
???? *??????????? 要?jiǎng)h除的目錄的文件路徑
???? * @return 目錄刪除成功返回true,否則返回false
???? */
??? public static boolean deleteDirectory(String dir) {
??????? // 如果dir不以文件分隔符結(jié)尾,自動(dòng)添加文件分隔符
??????? if (!dir.endsWith(File.separator))
??????????? dir = dir + File.separator;
??????? File dirFile = new File(dir);
??????? // 如果dir對應(yīng)的文件不存在,或者不是一個(gè)目錄,則退出
??????? 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 = DeleteFileUtil.deleteFile(files[i].getAbsolutePath());
??????????????? if (!flag)
??????????????????? break;
??????????? }
??????????? // 刪除子目錄
??????????? else if (files[i].isDirectory()) {
??????????????? flag = DeleteFileUtil.deleteDirectory(files[i]
??????????????????????? .getAbsolutePath());
??????????????? if (!flag)
??????????????????? break;
??????????? }
??????? }
??????? if (!flag) {
??????????? System.out.println("刪除目錄失敗!");
??????????? return false;
??????? }
??????? // 刪除當(dāng)前目錄
??????? if (dirFile.delete()) {
??????????? System.out.println("刪除目錄" + dir + "成功!");
??????????? return true;
??????? } else {
??????????? return false;
??????? }
??? }
??? public static void main(String[] args) {
//? // 刪除單個(gè)文件
//? String file = "c:/test/test.txt";
//? DeleteFileUtil.deleteFile(file);
//? System.out.println();
??????? // 刪除一個(gè)目錄
??????? String dir = "D:/home/web/upload/upload/files";
??????? DeleteFileUtil.deleteDirectory(dir);
//? System.out.println();
//? // 刪除文件
//? dir = "c:/test/test0";
//? DeleteFileUtil.delete(dir);
??? }
}
轉(zhuǎn)載于:https://www.cnblogs.com/esther-qing/p/6145336.html
總結(jié)
以上是生活随笔為你收集整理的Java 代码完成删除文件、文件夹操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (HDU)1491-- Octorber
- 下一篇: 12月9日 perform使用入门