Java realizes the deletion of files and folders

The example in this article shares the deletion of files and folders implemented by Java for your reference. The specific content is as follows

1. Delete a single file

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

public static boolean deleteFile(String fileName) {

? ? ? ? File file = new File(fileName);

? ? ? ? // 如果文件路径只有单个文件

? ? ? ? if (file.exists() && file.isFile()) {

? ? ? ? ? ? if (file.delete()) {

? ? ? ? ? ? ? ? System.out.println("删除文件" + fileName + "成功!");

? ? ? ? ? ? ? ? return true;

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? System.out.println("删除文件" + fileName + "失败!");

? ? ? ? ? ? ? ? return false;

? ? ? ? ? ? }

? ? ? ? } else {

? ? ? ? ? ? System.out.println(fileName + "不存在!");

? ? ? ? ? ? return false;

? ? ? ? }

? ? }

2. Delete the folder and the files under the folder

?

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

public static boolean deleteAllFile(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.deleteFile(files[i].getAbsolutePath());

?? ??? ??? ??? ?if (!flag)

?? ??? ??? ??? ??? ?break;

?? ??? ??? ?}

?? ??? ??? ?// 删除子文件夹

?? ??? ??? ?else if (files[i].isDirectory()) {

?? ??? ??? ??? ?flag = DeleteFile.deleteAllFile(files[i].getAbsolutePath());

?? ??? ??? ??? ?if (!flag)

?? ??? ??? ??? ??? ?break;

?? ??? ??? ?}

?? ??? ?}

?? ??? ?if (!flag) {

?? ??? ??? ?System.out.println("删除文件夹失败!");

?? ??? ??? ?return false;

?? ??? ?}

?? ??? ?// 删除当前文件夹

?? ??? ?if (dirFile.delete()) {

?? ??? ??? ?System.out.println("删除文件夹" + dir + "成功!");

?? ??? ??? ?return true;

?? ??? ?} else {

?? ??? ??? ?return false;

?? ??? ?}

?? ?}

test:

?

1

2

3

4

5

public static void main(String[] args) {

?? ??? ?// 删除一个文件夹及文件夹下的文件

?? ??? ?String dir = "F:/c";

?? ??? ?DeleteFile.deleteAllFile(dir);

?? ?}

Guess you like

Origin blog.csdn.net/qq_15509251/article/details/131608101