使用Java中的OS表示法创建新文件夹

时间:2013-06-20 10:28:28

标签: java operating-system directory

给定指向文件夹的Path对象,例如c:\pluto,如何在不使用文件夹名称的情况下在Java中生成新的空文件夹?

E.g。当我调用一个方法时,说X(),它应该为路径c:\pluto\new folder创建一个新文件夹。如果我再次按下它必须创建c:\pluto\new folder (1),再次按下我必须获得c:\pluto\new folder (2)等。

为什么我需要与操作系统进行交互?因为标准新文件夹的名称会根据操作系统和操作系统语言而改变。

老实说,我没有Java应用程序与操作系统交互的经验。

1 个答案:

答案 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();
}

但是从我的观点来看,我会要求用户提供新文件夹的名称,而不是自动生成它。并且只有当用户不想为新文件夹输入名称时,仅在这种情况下我会自动生成它。无论如何都会运行文件夹存在检查。