2012-06-29 72 views
0

我很難嘗試添加一個if語句來檢查刪除前文件夾是否存在,如果不存在,它不會嘗試運行。我在另一個類中使用這個類,因此目前它使主類停止當它失敗時它正在做什麼,因爲該文件夾不存在。獎勵積分,如果你可以讓它做多個擴展。刪除該文件夾中的所有文件之前檢查文件夾存在

public class cleardiroftxt { 
static String userprofile = System.getenv("USERPROFILE"); 
    private static final String FILE_DIR = userprofile+"\\Downloads\\Software_Tokens"; 
    private static final String FILE_TEXT_EXT = ".txt"; 

    public static void run(String args[]) { 
    new cleardiroftxt().deleteFile(FILE_DIR,FILE_TEXT_EXT); 
    } 

    public void deleteFile(String folder, String ext){ 

    GenericExtFilter filter = new GenericExtFilter(ext); 
    File dir = new File(folder); 

    //list out all the file name with .txt extension 
    String[] list = dir.list(filter); 

    if (list.length == 0) return; 

    File fileDelete; 

    for (String file : list){ 
    String temp = new StringBuffer(FILE_DIR) 
         .append(File.separator) 
         .append(file).toString(); 
     fileDelete = new File(temp); 
     boolean isdeleted = fileDelete.delete(); 
     System.out.println("file : " + temp + " is deleted : " + isdeleted); 
    } 
    } 

    //inner class, generic extension filter 
    public class GenericExtFilter implements FilenameFilter { 

     private String ext; 

     public GenericExtFilter(String ext) { 
     this.ext = ext;    
     } 

     public boolean accept(File dir, String name) { 
     return (name.endsWith(ext)); 
     } 
    } 
} 

如果你需要它,我在這裏稱之爲

public void actionPerformed(ActionEvent e){ 
     JButton clickedButton = (JButton) e.getSource(); 

     // JOptionPane.showMessageDialog(null, clickedButton.getText() + " clicked"); 
     cleardir.run(null); 
     cleardiroftxt.run(null); 
     Unzip.run(null); 
     //when we click the ok button... then 
     if(clickedButton == btnOk){ 
      JOptionPane.showMessageDialog(null, clickedButton.getText() + " clicked"); 
      String cboString = (String) cboSequence.getSelectedItem(); 

      /* we have to check if user have entered any value, is the chosen digit is NOT NONE. 
      * the ComboBox selection is NOT "None" 
      */ 
      if(cboString.equals("None") == false){ 
       String temp = txtSequence.getText(); 

       // then it has to be have some value for the textfield 
       if(temp.equals("") || temp == null){ 
        JOptionPane.showMessageDialog(null, "Oops... Please fill up the sequence number field"); 
        txtSequence.grabFocus(); 
        //something to highlight the field in future? 
        return; 
       } 
      } 
      JOptionPane.showMessageDialog(null, "rename invoked"); 
      renameFile(); 

     } 
+0

什麼'File.exists()'? – adatapost

+0

但我將如何使用它? – jerhynsoen

回答

0
File dir = new File(folder); 

if (dir.exists()) { 

    //list out all the file name with .txt extension 
    String[] list = dir.list(filter); 

    ... 
} 
+0

不會說謊,我正在嘗試更復雜的事情 – jerhynsoen

相關問題