给定指向文件夹的Path
对象,例如c:\pluto
,如何在不使用文件夹名称的情况下在Java中生成新的空文件夹?
E.g。当我调用一个方法时,说X()
,它应该为路径c:\pluto\new folder
创建一个新文件夹。如果我再次按下它必须创建c:\pluto\new folder (1)
,再次按下我必须获得c:\pluto\new folder (2)
等。
为什么我需要与操作系统进行交互?因为标准新文件夹的名称会根据操作系统和操作系统语言而改变。
老实说,我没有Java应用程序与操作系统交互的经验。
答案 0 :(得分:0)
使用String.valueOf(System.nanoTime)
生成文件夹名称。它将为每个调用生成唯一的文件夹名称。然后使用基本路径连接此文件夹名称,并且您有一个唯一的文件夹名称。
使用File.separator
分隔基本路径和生成的文件夹名称。
<强>更新强>
如果通过用户界面显示/选择文件夹名称,则上述方法可能不合适。然后使用面具和数字。对于蒙版,请将其设为new folder (%n%)
。其中%n%
将生成数字或日期字符串。
要检查代码中的文件夹是否存在,请使用以下方法:
private static boolean doesFolderExist(String folderPath) {
final File folderHandler = new File(folderPath);
return folderHandler.isDirectory();
}
但是从我的观点来看,我会要求用户提供新文件夹的名称,而不是自动生成它。并且只有当用户不想为新文件夹输入名称时,仅在这种情况下我会自动生成它。无论如何都会运行文件夹存在检查。