我使用以下代码创建文件夹但它没有创建它(输出失败)并且不会抛出任何异常。
已经创建了文件夹java,我需要传递文件夹名称并在java文件夹中创建它。
private String CreateFolder(String myfolder) {
try {
String dir = "../Java/" + myfolder;
boolean result = false;
File directory = new File(dir);
if (!directory.exists()) {
result = directory.mkdir();
if (result) {
System.out.println("Folder is created");
return dir;
} else {
return "failed";
}
}
}catch(Exception e) {
e.printStackTrace();
}
return "";
}
答案 0 :(得分:5)
尝试这样的事情:
public static void main(String[] args)
{
String path = "E:\\test";
createFolder(path);
}
private static boolean createFolder(String theFilePath)
{
boolean result = false;
File directory = new File(theFilePath);
if (directory.exists()) {
System.out.println("Folder already exists");
} else {
result = directory.mkdirs();
}
return result;
}
如果要使用 mkdir(),请确保使用正确的根目录路径(例如,如果要在“../somefolder”中创建文件夹,则必须已创建该文件夹)。
注意您需要在云端硬盘名称后设置两个斜杠。像这样“E:\\”。
您可以找到更多信息here。
答案 1 :(得分:1)
请尝试提供目录的绝对路径而不是相对路径。
答案 2 :(得分:0)
您可以尝试使用File.mkdirs()来尝试创建嵌套目录并打印目录绝对路径。我认为你使用了错误的“Java”路径。
System.out.println(directory.getAbsolutePath())
答案 3 :(得分:0)
请确保文件夹../Java/
退出。如果没有文件夹Java
。代码不起作用。如果你真的想自动创建文件夹Java
。请改用direcotry.mkdirs()
。
答案 4 :(得分:-1)
这是Web应用程序的一部分吗?然后使用上下文路径而不是abs路径。 也可以使用File.separator而不是斜杠(/)