public boolean createAndDeleteFile(String filePath,String fileName) throws IOException 

boolean result = false; 
File file = new File(filePath,fileName); 
if(file.exists()) 

file.delete(); 
result = true; 
System.out.println(文件已经删除!); 

else 

file.createNewFile(); 
result = true; 
System.out.println(文件已经创建!); 

return result; 

 
 创建和删除目录 
 @param folderName 
 @param filePath 
 @return 删除成功返回true 
 
public boolean createAndDeleteFolder(String folderName,String filePath) 

boolean result = false; 
try 

File file = new File(filePath+folderName); 
if(file.exists()) 

file.delete(); 
System.out.println(目录已经存在,已删除!); 
result = true; 

else 

file.mkdir(); 
System.out.println(目录不存在,已经建立!); 
result = true; 


catch(Exception ex) 

result = false; 
System.out.println(CreateAndDeleteFolder is error+ex); 

return result; 

 
public void readFolderByFile(String filePath) 

File file = new File(filePath); 
File[] tempFile = file.listFiles(); 
for(int i = 0;itempFile.length;i++) 

if(tempFile[i].isFile()) 

System.out.println(File  +tempFile[i].getName()); 

if(tempFile[i].isDirectory()) 

System.out.println(Directory  +tempFile[i].getName()); 


}

解决方案 »

  1.   

    public static void deleteFileInFolder(String path){
            File myPath = new File(path);
            if (myPath.isDirectory()) {
                String strSubs[] = myPath.list();
                for (int i = 0; i < strSubs.length; i++){
                 File file = new File(strSubs[i]);
                 if (file.isFile()){
                 file.delete();
                 }
                }
            }
       }
      

  2.   

    如果也删除子目录下的文件:
    public static void deleteFilesInFolder(String path, boolean isDeleteSubs){
            File myPath = new File(path);
            if (myPath.isDirectory()) {
             String strCurPath = myPath.getPath();
                String strSubs[] = myPath.list();
                for (int i = 0; i < strSubs.length; i++){
                 String subFile = strCurPath + File.separator + strSubs[i];
                 File file = new File(subFile);
                 if (file.isFile()){
                 file.delete();
                 }
                 else if(isDeleteSubs && file.isDirectory()){
                 deleteFilesInFolder(subFile, true);
                 }
                }
            }
    }用deleteFilesInFolder(path, true);
      

  3.   

    好象要绝对路径才能删除:
    public static void deleteFileInFolder(String strPath) {
        File myPath = new File(strPath);
        if (myPath.isDirectory()) {
          String strSubs[] = myPath.list();
          for (int i = 0; i < strSubs.length; i++) {
            int iPathLen = strPath.length();
            if (!strPath.substring(iPathLen - 1, iPathLen).equals("\\"))
              strPath += "\\";
            String strFileName = strPath + strSubs[i];
            File file = new File(strFileName);
            if (file.isFile()) {
              file.delete();
            }
          }
        }
      }
      

  4.   

    public static boolean deleteDirectoryOrFile(File dir)
        {
            if (true == dir.isFile())
            {
                return dir.delete();
            }        if ( (null == dir) || !dir.isDirectory())
            {
                return false;
            }        File[] entries = dir.listFiles();
            int size = entries.length;        for (int i = 0; i < size; i++)
            {
                if (entries[i].isDirectory())
                {
                    if (!deleteDirectoryOrFile(entries[i]))
                    {
                        return false;
                    }
                }
                else
                {
                    if (!entries[i].delete())
                    {
                        return false;
                    }
                }
            }        if (!dir.delete())
            {
                return false;
            }
            dir.delete();
            return true;
        }
      

  5.   

    把             if (file.isFile()){
                 file.delete();
                 }
    换成
                 if (file.isDirectory()){
                 file.delete();
                 }
    就是删目录。
      

  6.   

    删除目录:
    public static void deleteFolder(String strPath) {
        File myPath = new File(strPath);
        if (myPath.isDirectory()) {
          myPath.delete();
        }
      }
      

  7.   

    我的第一个程序有Bug,看我的第二个程序。
      

  8.   

    to  rower203(华仔):
    我怎么删不掉
      

  9.   

    boolean deleteAllOfAFolder(String path)
    {
      File file = new File(path) ;  if(!file.exists()) return false;  //文件或不存在  //如果是目录,则应先删除目录下所有子目录和文件后才能删除该目录
      //否则会产生异常
      if(file.isDirectory())
      {
        File[] subFiles = file.listFiles();
        for(int i=0; i<subFiles.length; ++i)
        {
          //如果是子目录,则也要用相同的方法先删除其下子目录和文件
          if(subFiles[i].isDirectory()) deleteAllOfAFolder(subFiles[i].toString());
          subFiles[i].delete();
        }
      }  //如果是目录,也完全删除它里面的东西了
      //可以删除这个目录了
      file.delete();  return true;
    }
      

  10.   

    哦~
    如果只是想删除目录下所有子目录和文件
    则可以在file.delete()后面再加一个file.mkdir()还有一个问题就是……
    我刚试了一下,
    当目录下还有文件时,
    没法删除该目录
    但捕捉不到异常
    真是奇怪!
      

  11.   

    import java.io.*;
    import javax.swing.JOptionPane;
    public class Test
    {
      static boolean deleteAllOfAFolder(String path, boolean root)
      {
        try{
            File file = new File(path) ;
          
            if(!file.exists())
            {
              JOptionPane.showMessageDialog(null, "文件或目录不存在!");
              return false;  //文件或不存在
            }
          
            if(root && 0!=JOptionPane.showConfirmDialog(null,"确定要删除"+file.getName()+"吗?"))
            {
              JOptionPane.showMessageDialog(null, "删除操作已取消!");
              return false;
            }
          
            //如果是目录,则应先删除目录下所有子目录和文件后才能删除该目录
            //否则会产生异常
            if(file.isDirectory())
            {
              File[] subFiles = file.listFiles();
              for(int i=0; i<subFiles.length; ++i)
              {
                //如果是子目录,则也要用相同的方法先删除其下子目录和文件
                if(subFiles[i].isDirectory()) deleteAllOfAFolder(subFiles[i].toString(), false);
                subFiles[i].delete();
              }
            }        //如果是目录,也完全删除它里面的东西了
            //可以删除这个目录了
              if(!file.delete())
              {
                JOptionPane.showMessageDialog(null,"删除失败!可能是文件正在使用当中!");
                return false;
              }    }
        catch(NullPointerException ex)
        {
          JOptionPane.showMessageDialog(null, "请输入文件路径!");
          return false;
        }
          catch(Exception ex)
          {
            ex.printStackTrace();
            return false;
          }
      
        if(root) JOptionPane.showMessageDialog(null, "已删除!");
        return true;
      }
      
      public static void main (String args [])
      {
        String path = JOptionPane.showInputDialog("请输入文件或目录路径!");
        
        try{
          deleteAllOfAFolder(path,true) ;
        }
        catch(Exception e){
          e.printStackTrace();
        }
        System.exit(0) ;
      }
    }