从用户输入创建文件夹结构

时间:2014-12-03 09:58:39

标签: java io

我在下面创建了一个快速示例。我想基于用户的文本输入创建文件夹结构。例如:

文本字段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 个答案:

答案 0 :(得分: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 {
            }
        }
    }

我希望这可以提供帮助!

答案 1 :(得分: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。

检查一下。