Java 自动生成目录(如果存在)

标签 java

我正在尝试检查目录是否存在,如果发生这种情况,我想给它另一个数字,例如,如果“folderX”存在,我想创建一个名为“FolderX1”的新目录,目前我'我只能执行一次此操作,因为我将其放在这样的 if/else 语句中:

    File fa = new File(folder);

    if(!fa.exists()){
        this.folder = folder;
    }else{
        this.folder = folder+=1;

     }

我想递归地执行此操作,如果程序检测到“folderX”存在,它应该跳转并检查其他文件夹(folderX、FolderX1、FolderX2 等),直到找到一个可以创建的文件夹,但我不知道如何做吧。

最佳答案

基本上,您需要某种循环来确定递增文件夹是否仍然存在......

File makeMe = new File(folder);
int index = 0;
String master = folder;
while (makeMe.exists()) {
    folder = master + (++index);
    makeMe = new File(folder);
}

如果您担心创建无限循环,您可以设置最大范围...

int maxRange = 100;

File makeMe = new File(folder);
int index = 0;
String master = folder;
while (makeMe.exists() && index < maxRange) {
    makeMe = new File(master + (++index));
}

if (index > maxRange) { // || makeMe.exists()
    throw new IOException("Could not find free directory");
} else {
    // All happy unicorns...
}

关于Java 自动生成目录(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17081038/

相关文章:

没有用逗号分隔的 Java JPA Left Join

java - 有人可以解释为什么该行没有在此 TableLayout 中换行文本吗?

java - 在Gradle任务中拉出和运行依赖项

java - 这是什么意思 "couldn' t read CGI input from STDIN after alloc read 0 "

java - 原始类型、无界通配符和在泛型中使用 Object 有什么区别

java - 显示图像 Android

java - 将XFDF与PDF文件合并以在Web系统中创建带注释的PDF版本

java - 通过 shell 传递以空格分隔的系统属性

java - 从servlet获取对象到flex

java - simple_list_item_2 模式下的空 ListView