Java:制作目录的正确方法

Java:制作目录的正确方法,java,directory,createfile,Java,Directory,Createfile,一些文件夹、一些文件夹1、一些文件夹2和一些文件夹3最初不存在 File folder1 = new File("some_folder/some_folder_1"); File folder2 = new File("some_folder/some_folder_2"); File folder3 = new File("some_folder/some_folder_3"); if(!folder1.exists()) { folder1.mkdirs(); } if(

一些文件夹、一些文件夹1、一些文件夹2和一些文件夹3最初不存在

File folder1 = new File("some_folder/some_folder_1"); 
File folder2 = new File("some_folder/some_folder_2"); 
File folder3 = new File("some_folder/some_folder_3"); 

if(!folder1.exists()) {
    folder1.mkdirs();
}

if(!folder2.exists()) {
    folder2.mkdirs();
}

if(!folder3.exists()) {
    folder3.mkdirs();
}

这是一个好方法吗?

不要使用路径分隔符,而是使用正确的构造函数:

File folder1 = new File("some_folder", "some_folder_1"); 
if (!folder1.exists()) {
    folder1.mkdirs(); // returns a boolean
}

不要使用路径分隔符,而是使用正确的构造函数:

File folder1 = new File("some_folder", "some_folder_1"); 
if (!folder1.exists()) {
    folder1.mkdirs(); // returns a boolean
}

您不需要测试-如果目录已经存在,mkdirs只返回
false
。我更喜欢使用一个“基本”文件作为
某个_文件夹
,以避免硬编码斜杠,即使正斜杠可能在最流行的平台上工作:)


请注意,如果名称已经存在,但作为文件而不是文件夹,则不会引发任何异常…

您不需要测试-如果目录已经存在,mkdirs只返回
false
。我更喜欢使用一个“基本”文件作为
某个_文件夹
,以避免硬编码斜杠,即使正斜杠可能在最流行的平台上工作:)

请注意,如果名称已存在,但作为文件而不是文件夹,则不会引发任何异常…

String[] folders = {"some_folder_1", "some_folder_2", "some_folder_3"};
File root = new File("some_folder");
for (String folder: folders)
    new File(root, folder).mkdirs();


为了补充这一点,如果您有超过2或3个文件夹,您可能需要考虑循环和集合(根据卡尔的答案-除了最好用括号:)添加到这个,如果您有超过2个或3个文件夹,您可能需要考虑循环和集合(根据卡尔的答案-除了最好用括号:):您可能还需要检查mkdirs()的返回值以确保已创建目录。您可能还需要检查mkdirs()的返回值以确保已创建目录。