与String和File的意外交互

时间:2015-04-04 20:28:54

标签: java string file directory

我有以下代码:

    if (e.getSource() == theView.addButton) {

            System.out.println("Add Button clicked");
            theView.setBotTextArea("Adding category...");

            File directory = new File(theModel.getDirectory() + theView.getCategoryNameInput());

            boolean isDirectoryCreated = directory.mkdir();

            if(isDirectoryCreated) { 

                System.out.println("Created new directory in: " + directory);

            } else if (directory.exists()) { 

                System.out.println("Category already exists!");

            }               

        }

这是ActionListener ActionPerformed()方法的一部分。

private File directory = new File("C:/Users/Lotix/Desktop/TestFolder/");
public File getDirectory() { 

    return directory;

}

我希望这个方法可以在所选目录中创建一个子文件夹。但是,由于某些我不知道的原因,它会在我的桌面上创建另一个文件夹而不是 TestFolder

我尝试theModel.getDirectory().toString()并操纵变量但无济于事。我想出的解决方案是简单地在它们之间添加正斜杠 theModel.getDirectory()theView.getCategoryNameInput(),例如:

File directory = new File(theModel.getDirectory() + "/" + theView.getCategoryNameInput());

但是,当我将File变量与另一个String连接起来时,它的效果非常好。

是什么给出了?

1 个答案:

答案 0 :(得分:0)

您在自己的桌面目录中创建的任何文件都会显示在桌面上。这就是文件夹 for。

这与“与String和File的交互”或Java无关。