java 文件删除

个人学习记录,仅供大家参考

引自http://kxjhlele.iteye.com/blog/323657

 1 /***************删除开始******************/

 2     /**

 3      *  根据路径删除指定的目录或文件,无论存在与否

 4      *@param sPath  要删除的目录或文件

 5      *@return 删除成功返回 true,否则返回 false。

 6      */

 7     public boolean DeleteFolder(String sPath) {

 8         boolean flag = false;

 9         file = new File(sPath);

10         // 判断目录或文件是否存在

11         if (!file.exists()) {  // 不存在返回 false

12             return flag;

13         } else {

14             // 判断是否为文件

15             if (file.isFile()) {  // 为文件时调用删除文件方法

16                 return deleteFile(sPath);

17             } else {  // 为目录时调用删除目录方法

18                 return deleteDirectory(sPath);

19             }

20         }

21     }

22     /**

23      * 删除单个文件

24      * @param   sPath    被删除文件的文件名

25      * @return 单个文件删除成功返回true,否则返回false

26      */

27     public boolean deleteFile(String sPath) {

28         boolean flag = false;

29         file = new File(sPath);

30         // 路径为文件且不为空则进行删除

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

32             file.delete();

33             flag = true;

34         }

35         return flag;

36     }

37     

38     /**

39      * 删除目录(文件夹)以及目录下的文件

40      * @param   sPath 被删除目录的文件路径

41      * @return  目录删除成功返回true,否则返回false

42      */

43     public boolean deleteDirectory(String sPath) {

44         //如果sPath不以文件分隔符结尾,自动添加文件分隔符

45         if (!sPath.endsWith(File.separator)) {

46             sPath = sPath + File.separator;

47         }

48         File dirFile = new File(sPath);

49         //如果dir对应的文件不存在,或者不是一个目录,则退出

50         if (!dirFile.exists() || !dirFile.isDirectory()) {

51             return false;

52         }

53         boolean flag = true;

54         //删除文件夹下的所有文件(包括子目录)

55         File[] files = dirFile.listFiles();

56         for (int i = 0; i < files.length; i++) {

57             //删除子文件

58             if (files[i].isFile()) {

59                 flag = deleteFile(files[i].getAbsolutePath());

60                 if (!flag) break;

61             } //删除子目录

62             else {

63                 flag = deleteDirectory(files[i].getAbsolutePath());

64                 if (!flag) break;

65             }

66         }

67         if (!flag) return false;

68         //删除当前目录

69         if (dirFile.delete()) {

70             return true;

71         } else {

72             return false;

73         }

74     }

75     

76     /***************删除结束******************/

 

你可能感兴趣的:(java)