2014-12-03 34 views
0

我在下面創建了一個快速示例。我想創建一個基於用戶的文本輸入的文件夾結構。例如:從用戶輸入創建文件夾結構

文本字段1:2001

文本字段2:test

然後將文件夾結構c:\2001\test

這是一個更大的應用程序的一部分,但是這是有我的位卡住。任何幫助感激..

import java.io.File; 
import javax.swing.*; 

public class CreateDirectory extends JFrame { 

public static void main(String args[]) { 
    SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      new CreateDirectory().setVisible(true); 
     } 
    }); 
} 

public CreateDirectory() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setTitle("Create New Job App"); 

    panel pan = new panel(); 
    add(pan.panel); 
    pack(); 
    setVisible(true); 
} 
} 

class panel { 

private JButton btn1 = new JButton("Create"); 
private JTextField txt1 = new JTextField(10); 
private JTextField txt2 = new JTextField(10); 

JPanel panel; 

public panel() { 
    panel = new JPanel(); 
    panel.add(btn1); 
    panel.add(txt1); 
    panel.add(txt2); 

    btn1.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      btn1ActionPerformed(evt); 
     } 

     private void btn1ActionPerformed(java.awt.event.ActionEvent evt) { 
      File files = new File("C:\\Directory2\\Sub2\\Sub-Sub2"); 
      if (!files.exists()) { 
       if (files.mkdirs()) { 

       } else { 
       } 
      } 
     } 
    }); 
} 
} 
+2

你忘了問一個問題。 – reto 2014-12-03 10:04:18

回答

0

所有你需要的是提到要這樣

private void btn1ActionPerformed(java.awt.event.ActionEvent evt) { 
     File files = new File("c:\\"+txt1.getText()+"\\"+txt2.getText()); 
     if (!files.exists()) { 
      if (files.mkdirs()) { 

      } else { 
      } 
     } 
    } 

我希望這可以幫助創建的目錄!

+0

完美,非常感謝,我之前的嘗試非常接近。我在沒有getText的情況下放置了txt1,它將文本字段的屬性返回到我的結果中。 – 2014-12-04 01:46:28

0

我希望你有按鈕,這樣它的動作監聽方法,從兩個文本框中獲取值,對其進行驗證,然後調用一個方法是這樣的

private void createDirectories(String textInputOne , String textInputTwo){ 

    String root="";//Your base directory or Drive in your case c:/ 

    String totalPath=root+File.separator+textInputOne+File.separator+textInputTwo; 

    File folder=new File(totalPath); 
    if(!folder.exists()){ 
     folder.mkdirs(); 
    }else{ 

     System.out.println("already exists"); 
    } 

} 

我希望這個作品,如果你不沒有權限在您的基礎文件夾/驅動器mkdirs()將返回false。

也檢查。