想删除本地一个项目目录,结果windows说路径太长,不能删除。于是试了试java删除。一切ok。以后一定要抓紧时间学python。

  1. /**
  2. * Created by rmiao on 4/21/2016.
  3. */
  4. public class TestDel {
  5.  
  6. public static void main(String[] args) throws IOException {
  7. String dest = "D:\\perforce\\workspace2\\EPC";
  8. File file = new File(dest);
  9.  
  10. forceDelete(file);
  11.  
  12. }
  13.  
  14. private static void forceDelete(File file) throws IOException {
  15. if (file.isDirectory()){
  16. deleteDirectory(file);
  17. }else{
  18. boolean filePresent = file.exists();
  19. if(!file.delete()){
  20. if(!filePresent){
  21. throw new FileNotFoundException("File does note exist:"+file);
  22. }
  23.  
  24. String message = "Unable to delete file:"+file;
  25. throw new IOException(message);
  26.  
  27. }else{
  28. System.out.println("-"+file.getAbsolutePath());
  29. }
  30.  
  31. }
  32. }
  33. public static void deleteDirectory(File directory) throws IOException{
  34. if (directory.exists()){
  35. cleanDirectory(directory);
  36. }
  37. if(!directory.delete()){
  38. String message = "Unable to delete directory "+directory+".";
  39. throw new IOException(message);
  40. }
  41. }
  42.  
  43. /**
  44. * Cleans a directory without deleting it.
  45. *
  46. * @param directory directory to clean
  47. * @throws IOException in case cleaning is unsuccessful
  48. */
  49. public static void cleanDirectory(File directory) throws IOException {
  50. if (!directory.exists()) {
  51. String message = directory + " does not exist";
  52. throw new IllegalArgumentException(message);
  53. }
  54.  
  55. if (!directory.isDirectory()) {
  56. String message = directory + " is not a directory";
  57. throw new IllegalArgumentException(message);
  58. }
  59.  
  60. File[] files = directory.listFiles();
  61. if (files == null) { // null if security restricted
  62. throw new IOException("Failed to list contents of " + directory);
  63. }
  64.  
  65. IOException exception = null;
  66. for (File file : files) {
  67. try {
  68. forceDelete(file);
  69. } catch (IOException ioe) {
  70. exception = ioe;
  71. }
  72. }
  73.  
  74. if (null != exception) {
  75. throw exception;
  76. }
  77. }
  78.  
  79. }

java删除文件夹的更多相关文章

  1. Java删除文件夹和文件

    转载自:http://blog.163.com/wu_huiqiang@126/blog/static/3718162320091022103144516/ 以前在javaeye看到过关于Java操作 ...

  2. 用java删除文件夹里的所有文件

    import java.io.File; public class Test { public static void main(String args[]){ Test t = new Test() ...

  3. 【转】Java删除文件夹和文件

    原文网址:http://kxjhlele.iteye.com/blog/323657 以前在javaeye看到过关于Java操作文件的一篇文章,写的很好,但找了半天也没找到,就把找到底几篇文章整理一下 ...

  4. java删除文件夹下所有文件

    package org.sw; import java.io.File; /** * * @author mengzw * @since 3.0 2014-2-26 */ public class D ...

  5. java删除文件夹 Java中实现复制文件或文件夹

    删除文件夹 import java.io.File; public class DeleteDir { /** * @param args */ public static void main(Str ...

  6. java 删除文件夹 / 删除某文件夹下的所有文件

    import java.io.File; /*************************删除文件夹delFolder / 删除文件夹中的所有文件delAllFile *start******** ...

  7. java 删除文件夹中的所有文件及文件夹

    删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉[close()],否则文件无法删除) //删除文件夹 public static void del ...

  8. java删除文件夹及子目录

    package test; import java.io.FileNotFoundException; import java.io.IOException; import java.io.File; ...

  9. Java删除文件夹和其子文件、文件的拷贝和剪切

     1.递归删除目录下的所有文件及子目录下所有文件 //递归删除目录下的所有文件及子目录下所有文件 public static boolean deleteDir(File dir) { if (dir ...

随机推荐

  1. C#程序代码分析(第三周)

    刚开始看到这段程序,都不知道是什么东西,问过室友才知道是C#程序:但对C#一点都不了解,最基本的项目建设都不会,在室友的帮助下,以及在网上搜了一些资料,勉强算是完成了此次作业吧. using Syst ...

  2. javascript中的内置对象总结

    内置对象 标准内置对象 Object Object.create Object.prototype.toString Object.prototype.hasOwnProperty Boolean S ...

  3. Javascript基础回顾 之(一) 类型

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  4. 现在创业做App,先做 Android 还是 iOS?

    随着互联网+的高速发展,现在创业大部分都是在布局移动端,初期往往摆在面前最大的难题是,如何分配有限的成本,在最快的速度内占领市场?这个大难题会影响创始人在团队和产品建设方方面面的决定.缩小至移动App ...

  5. C#中使用Socket请求Web服务器过程

    最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生. 而有人或许会问: ...

  6. Git命令汇总

    1. 工作区和版本库 说明: 工作区(Working Directory)就是创建仓库的文件夹 版本库(Repository)就是工作区的隐藏目录.git,版本库中有暂存区(stage/index)和 ...

  7. Atitti 大话存储读后感 attilax总结

    Atitti 大话存储读后感 attilax总结 1.1. 大话存储中心思想(主要讲了磁盘文件等存储)1 1.2. 最耐久的存储,莫过于石头了,要想几千万年的存储信息,使用石头是最好的方式了1 1.3 ...

  8. vue小总结

    以下是我在使用vue过程中自己对vue的一些小总结,希望对学习vue的亲们能有所帮助: 1.   http的post请求: this.$http({url: '/someUrl', method: ' ...

  9. 前端学PHP之变量范围

    × 目录 [1]范围跨度 [2]函数范围 [3]global[4]预定义变量[5]超全局变量 前面的话 变量范围即它定义的上下文背景(也就是它的生效范围).在javascript中,并没有变量范围这一 ...

  10. php继承多态

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...