比如有"d:/mywork/"文件夹,里面有几个文件,如果想删除mywork文件夹及文件夹内的所有文件,怎么做呢?

解决方案 »

  1.   

    选中mywork文件夹  Shift+Delete 
      

  2.   

    public class Test 
    {
    public static void main(String[] args)
    {
    File  f = new File("d:/mywork");
    Test t = new Test();
    t.del(f);
                    f.delete();
    }
    public  void del(File f)
    {
    if(f.exists())
    {
    if(f.isDirectory())
    {
    del(f);
    }
    else
    {
    f.delete();
    }
    }
    }
    }
      

  3.   


    void deleteFile(String path) {
    if (new File(path).isFile()) {
    new File(path).delete();
    } else if(new File(path).isDirectory()){
    String[] list = new File(path).list();
    for (String s : list) {
    String directory = path + "/" + s;
    if (new File(directory).isFile()) {
    new File(directory).delete();
    } else {
    deleteFile(directory);
    }
    }
    }
    //删除目录
    if(new File(path).isDirectory()) {
    new File(path).delete();
    }
    }
      

  4.   

    贴错版了,这个解决方案不属于JAVA版.
      

  5.   

    public class test2 {
      public test2() {
        File ff=new File("D:\\temp");
        String files[]=ff.list();    for (int i=0;i<files.length;i++)
        {
          String nf="d:\\temp\\"+files[i];
          File f2=new File(nf);
          f2.delete();
        }    System.out.println("over");
      }
      public static void main(String[] args) {
        test2 test21 = new test2();
      }}
      

  6.   

    public class Test
    {
    public static void main(String[] args)
    {
    File  f = new File("d:/mywork");
    Test t = new Test();
    t.del(f);
                    
    }
    public  void del(File f)
    {
    if(f.exists())
    {
    if(f.isDirectory())
    {
    del(f);}
    f.delete();}
    }
    }同意六楼的,改了一点
      

  7.   

    对不起,我看不懂6楼和支持6楼的,希望高手指点。
    if(f.isDirectory())
    {
    del(f);} 
    这段代码,不是反复判断的还是f吗?岂不是死循环?
      

  8.   

    我认为改成这样比较合适
     package test;
    import java.io.*;
    public class testdel
    {
    public testdel(String str) {
    File f=new File(str);
    del(f);
        }
        private void del(File file)
        {
    if(file.exists())
    {
    if(file.isFile())
    {
        file.delete();
    }
    else
    {
        
        String[] s=file.list();
                if(s==null)
                {file.delete();}
                 else{
        for(int i=0;i<s.length;i++)
        {
    File f=new File(file.getAbsolutePath()+File.separator+s[i]);
    this.del(f);
        }
        file.delete();
        }
    }
    }
        }
        public static void main(String[] args) {
    new testdel("D:\\temp");
        }
    }
    这个程序真不能轻易用,破坏力太强。
      

  9.   

    /**
     * 
     * @function 删除文件和文件夹
     * @param file
     * @author 王仁辉
     * @Create Date 2012-1-6
     * @Modified By
     * @Modified Date
     * @why & what
     */
    private void deleteFile(File file) {
    if (file.exists()) {
    if (file.isDirectory()) {
    for (File f : file.listFiles()) {
    deleteFile(f);
    }
    file.delete();
    } else {
    file.delete();
    file = null;
    }
    }
    }