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... } 
 String folderPrefix = "folder"; int folderSuffix = 0; File fa = new File(folderPrefix + folderSuffix); while (fa.exists()) { fa = new File(folderPrefix + folderSuffix++); }