0

我正在使用以下代码创建文件夹,但它没有创建它(输出失败)并且没有抛出任何异常。

文件夹 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 "";
    }
4

5 回答 5

6

尝试这样的事情:

  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:\\"

你可以在这里找到更多信息。

于 2013-06-21T07:14:24.790 回答
1

请尝试提供目录的绝对路径而不是相对路径。

于 2013-06-21T07:02:43.560 回答
0

您可以尝试 File.mkdirs() 尝试制作嵌套目录并打印目录绝对路径。我认为您使用了错误的“Java”路径。

System.out.println(directory.getAbsolutePath())
于 2013-06-21T07:10:30.970 回答
0

请确保文件夹../Java/退出。如果没有文件夹Java。该代码将无法正常工作。如果你真的想Java自动创建文件夹。请direcotry.mkdirs()改用。

于 2013-06-21T07:28:13.243 回答
-1

这是 Web 应用程序的一部分吗?然后使用上下文路径而不是绝对路径。也使用 File.separator 而不是斜杠(/)

于 2013-06-21T07:14:10.843 回答