JAVA删除文件_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JAVA删除文件

JAVA删除文件

 2014/12/4 15:39:56  zyp307  程序员俱乐部  我要评论(0)
  • 摘要:1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)Java代码//验证字符串是否为正确路径名的正则表达式privatestaticStringmatches="[A-Za-z]:\\\\[^:?\"><*]*";//通过sPath.matches(matches)方法的返回值判断是否正确//sPath为路径字符串2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件Java代码/***根据路径删除指定的目录或文件
  • 标签:文件 Java

1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)

?

?

Java代码??class="star" alt="收藏代码" style="max-width: 100%;">
  1. //?验证字符串是否为正确路径名的正则表达式??
  2. private?static?String?matches?=?"[A-Za-z]:\\\\[^:?\"><*]*";??
  3. //?通过?sPath.matches(matches)?方法的返回值判断是否正确??
  4. //?sPath?为路径字符串??

?

?

2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件

?

?

Java代码??收藏代码
  1. /**?
  2. ?*??根据路径删除指定的目录或文件,无论存在与否?
  3. ?*@param?sPath??要删除的目录或文件?
  4. ?*@return?删除成功返回?true,否则返回?false。?
  5. ?*/??
  6. public?boolean?DeleteFolder(String?sPath)?{??
  7. ????flag?=?false;??
  8. ????file?=?new?File(sPath);??
  9. ????//?判断目录或文件是否存在??
  10. ????if?(!file.exists())?{??//?不存在返回?false??
  11. ????????return?flag;??
  12. ????}?else?{??
  13. ????????//?判断是否为文件??
  14. ????????if?(file.isFile())?{??//?为文件时调用删除文件方法??
  15. ????????????return?deleteFile(sPath);??
  16. ????????}?else?{??//?为目录时调用删除目录方法??
  17. ????????????return?deleteDirectory(sPath);??
  18. ????????}??
  19. ????}??
  20. }??

?

?

3,实现删除文件的方法,

?

?

Java代码??收藏代码
  1. /**?
  2. ?*?删除单个文件?
  3. ?*?@param???sPath????被删除文件的文件名?
  4. ?*?@return?单个文件删除成功返回true,否则返回false?
  5. ?*/??
  6. public?boolean?deleteFile(String?sPath)?{??
  7. ????flag?=?false;??
  8. ????file?=?new?File(sPath);??
  9. ????//?路径为文件且不为空则进行删除??
  10. ????if?(file.isFile()?&&?file.exists())?{??
  11. ????????file.delete();??
  12. ????????flag?=?true;??
  13. ????}??
  14. ????return?flag;??
  15. }??

?

?

4,实现删除文件夹的方法,

?

?

Java代码??收藏代码
  1. /**?
  2. ?*?删除目录(文件夹)以及目录下的文件?
  3. ?*?@param???sPath?被删除目录的文件路径?
  4. ?*?@return??目录删除成功返回true,否则返回false?
  5. ?*/??
  6. public?boolean?deleteDirectory(String?sPath)?{??
  7. ????//如果sPath不以文件分隔符结尾,自动添加文件分隔符??
  8. ????if?(!sPath.endsWith(File.separator))?{??
  9. ????????sPath?=?sPath?+?File.separator;??
  10. ????}??
  11. ????File?dirFile?=?new?File(sPath);??
  12. ????//如果dir对应的文件不存在,或者不是一个目录,则退出??
  13. ????if?(!dirFile.exists()?||?!dirFile.isDirectory())?{??
  14. ????????return?false;??
  15. ????}??
  16. ????flag?=?true;??
  17. ????//删除文件夹下的所有文件(包括子目录)??
  18. ????File[]?files?=?dirFile.listFiles();??
  19. ????for?(int?i?=?0;?i?<?files.length;?i++)?{??
  20. ????????//删除子文件??
  21. ????????if?(files[i].isFile())?{??
  22. ????????????flag?=?deleteFile(files[i].getAbsolutePath());??
  23. ????????????if?(!flag)?break;??
  24. ????????}?//删除子目录??
  25. ????????else?{??
  26. ????????????flag?=?deleteDirectory(files[i].getAbsolutePath());??
  27. ????????????if?(!flag)?break;??
  28. ????????}??
  29. ????}??
  30. ????if?(!flag)?return?false;??
  31. ????//删除当前目录??
  32. ????if?(dirFile.delete())?{??
  33. ????????return?true;??
  34. ????}?else?{??
  35. ????????return?false;??
  36. ????}??
  37. }??

?

?

5,main() 方法

?

?

Java代码??收藏代码
  1. public?static?void?main(String[]?args)?{??
  2. ??
  3. ????HandleFileClass?hfc?=?new?HandleFileClass();??
  4. ????String?path?=?"D:\\Abc\\123\\Ab1";??
  5. ????boolean?result?=?hfc.CreateFolder(path);??
  6. ????System.out.println(result);??
  7. ????path?=?"D:\\Abc\\124";??
  8. ????result?=?hfc.DeleteFolder(path);??
  9. ????System.out.println(result);??
  10. ??
  11. }??

?

?

main() 方法只是做了一个简单的测试,建立文件夹和文件都是本地建立,情况考虑的应该很全面了,包括文件夹包含文件夹、文件。文件的不同情况…………

?

实现没有问题,可以正确删除文件夹和文件。

发表评论
用户名: 匿名