【问题标题】:Creating directories in Java在 Java 中创建目录
【发布时间】:2017-08-04 15:14:44
【问题描述】:

enter image description here我是 Java 世界的新手,所以请原谅我的无知。

在 Java 中创建 1000 个新目录的最佳方法是什么?

知道我对每个新目录都有一个特定编号,例如(创建 D\NEW_Directories\DIR101234...DIR107601...DIR108234... 到 DIR#1000

我已经有了特定的 1000 个数字列表,我想插入代码为它们创建新的 100 个空目录。我找到了几个关于如何创建单个目录而不是多个目录的示例。我在 Win64 环境中使用 Eclipse Marse 2。

【问题讨论】:

  • 你可以使用java.io.File#mkdirs

标签: eclipse java-8 eclipse-mars jave


【解决方案1】:

在我的示例中,我使用“i”之类的后缀,并检查目录是否存在。

解决方案不依赖于您使用的 IDE,这里使用的所有内容 它包含在 java 标准库中。

String OUTPUT_FOLDER = "pathwhereyouwantcreatefolders";
        for(int i = 1 ;i<5;i++){
            File folder = new File(OUTPUT_FOLDER+"_"+i);
            if(!folder.exists()){
                folder.mkdir();
            }
            }//for

【讨论】:

    【解决方案2】:

    如果我对你的问题理解得很好,这里是代码示例(只需将 10 更改为 1000)。

    import java.io.File;
    
    public class Directories {
    
        public static void main(String[] args) {
            //We are creating 10 directories in a parent directory called NEW_DIRECTORIES
            boolean new_dir = new File("NEW_DIRECTORIES").mkdir();
            boolean successCreation;
            if (new_dir) {
                for (int i = 1; i < 11; i++) {
                    do {
                        int folderName = (int) (Math.random() * 899999) + 100000; //Give a random number from 100000 to 999999
                        String aDirName = "NEW_DIRECTORIES/" + folderName;
                        successCreation = new File(aDirName).mkdir();
                    } while (!successCreation); //We need this condition to make sure that a number has not been chosen twice
                }
            }
        }
    }
    

    输出应该是这样的(TESTED)。

    【讨论】:

    • 所以我有一个 1000 个不按顺序排列的随机 5 位数字的列表,我希望将新目录命名为没有“DIR”的数字,这样它们看起来就像我刚才的图片附在问题后面。
    • 所以你需要做一些改变,比如使用数学库的random()。我更新了答案
    • 欢迎您,这是正确的答案吗?你应该了解一下随机函数和 mkdir
    • 你有文件夹名吗?它们在哪里,以便您可以(以编程方式)自动获取它们?
    • 是的,我将它们保存在 Excel 工作表中。我正在考虑复制它们并像新的一样过去 (folderName =String[]{"105330","112233",.....etc})
    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 2016-11-16
    • 2012-03-25
    • 2016-05-21
    • 2012-10-01
    • 2020-10-18
    相关资源
    最近更新 更多