Java实现文件及文件夹的删除

本文实例为大家分享了Java实现文件及文件夹的删除,供大家参考,具体内容如下

1、删除单个文件

?

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、删除文件夹及文件夹下的文件

?

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;

?? ??? ?}

?? ?}

测试:

?

1

2

3

4

5

public static void main(String[] args) {

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

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

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

?? ?}

猜你喜欢

转载自blog.csdn.net/qq_15509251/article/details/131608101