我有以下代码:
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
连接起来时,它的效果非常好。
是什么给出了?
答案 0 :(得分:0)
您在自己的桌面目录中创建的任何文件都会显示在桌面上。这就是文件夹 for。
这与“与String和File的交互”或Java无关。