Как создать каталог на Java?

Как создать каталог/папку?

Как только я проверил System.getProperty("user.home");

Мне нужно создать каталог (имя каталога "новая папка" ), если и только если новая папка не существует.

Ответ 1

File theDir = new File("new folder");

// if the directory does not exist, create it
if (!theDir.exists()) {
    System.out.println("creating directory: " + theDir.getName());
    boolean result = false;

    try{
        theDir.mkdir();
        result = true;
    } 
    catch(SecurityException se){
        //handle it
    }        
    if(result) {    
        System.out.println("DIR created");  
    }
}

Ответ 2

new File("/path/directory").mkdirs();

Здесь "каталог" - это имя каталога, который вы хотите создать/существующего.

Ответ 3

С помощью Java 7 вы можете использовать Files.createDirectories().

Например:

Files.createDirectories(Paths.get("/path/to/directory"));

Ответ 5

mkdir vs mkdirs


Если вы хотите создать единый каталог, используйте mkdir

new File("/path/directory").mkdir();

Если вы хотите создать иерархию структуры папок, используйте mkdirs

 new File("/path/directory").mkdirs();

Ответ 6

  • Создайте единый каталог.

    new File("C:\\Directory1").mkdir();
    
  • Создайте каталог с именем "Directory2" и все его подкаталоги "Sub2" и "Sub-Sub2" вместе.

    new File("C:\\Directory2\\Sub2\\Sub-Sub2").mkdirs()
    

Источник: этот идеальный tuto, вы также найдете пример использования.

Ответ 7

Следующий метод должен делать то, что вы хотите, просто убедитесь, что вы проверяете возвращаемое значение mkdir()/mkdirs()

private void createUserDir(final String dirName) throws IOException {
    final File homeDir = new File(System.getProperty("user.home"));
    final File dir = new File(homeDir, dirName);
    if (!dir.exists() && !dir.mkdirs()) {
        throw new IOException("Unable to create " + dir.getAbsolutePath();
    }
}

Ответ 8

Хотя на этот вопрос был дан ответ. Я хотел бы добавить что-то лишнее, т.е. если существует файл с именем каталога, которое вы пытаетесь создать, чем запрос на ошибку. Для будущих посетителей.

public static void makeDir()
{
    File directory = new File(" dirname ");
    if (directory.exists() && directory.isFile())
    {
        System.out.println("The dir with name could not be" +
        " created as it is a normal file");
    }
    else
    {
        try
        {
            if (!directory.exists())
            {
                directory.mkdir();
            }
            String username = System.getProperty("user.name");
            String filename = " path/" + username + ".txt"; //extension if you need one

        }
        catch (IOException e)
        {
            System.out.println("prompt for error");
        }
    }
}

Ответ 9

Для java 7 и вверх:

Path path = Paths.get("/your/path/string");
if(!Files.exists(path)) {
    try {
      Files.createDirectories(path);
    } catch (IOException e) {
      e.printStackTrace();
    }
}

Ответ 10

Просто хотел указать всем, кто звонит File.mkdir() или File.mkdirs(), чтобы быть осторожным, чтобы объект File был каталогом, а не файлом. Например, если вы вызываете mkdirs() для пути /dir1/dir2/file.txt, он создаст папку с именем file.txt, которое, вероятно, не то, что вы хотели. Если вы создаете новый файл и хотите автоматически создавать родительские папки, вы можете сделать что-то вроде этого:

            File file = new File(filePath);
            if (file.getParentFile() != null) {
                file.getParentFile().mkdirs();
            }

Ответ 11

попробуйте с этим.

import java.io.File;

public class MakingDirectory {
 public static void main(String[] args) {
      String s="d:\\msreddy\\sample1";
      File file=new File(s);
      file.mkdirs();
}
}

для получения дополнительной информации см. это.

Ответ 12

Чистый и чистый:

import java.io.File;

public class RevCreateDirectory {

    public void revCreateDirectory() {
        File file = new File("D:\\Directory1");
        if (!file.exists()) {
            if (file.mkdir()) {
                System.out.println("Directory is created!");
            } else {
                System.out.println("Failed to create directory!");
            }
        }

        File files = new File("D:\\Directory2\\Sub2\\Sub-Sub2");
        if (!files.exists()) {
            if (files.mkdirs()) {
                System.out.println("Multiple directories are created!");
            } else {
                System.out.println("Failed to create multiple directories!");
            }
        }

    }
}

Ответ 13

Этот способ работы для меня делает одну директорию или больше или их: нужно импортировать java.io.File;
/* введите код ниже, чтобы добавить diectory dir1 или проверить, существует ли dir1, если нет, поэтому создайте его так же, как и dir2 и dir3 */

    File filed = new File("C:\\dir1");
    if(!filed.exists()){  if(filed.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist");  }

    File filel = new File("C:\\dir1\\dir2");
    if(!filel.exists()){  if(filel.mkdir()){ System.out.println("directory is created");   }} else{ System.out.println("directory exist");  }

    File filet = new File("C:\\dir1\\dir2\\dir3");
    if(!filet.exists()){  if(filet.mkdir()){ System.out.println("directory is  created"); }}  else{ System.out.println("directory exist");  }

Ответ 14

Ну, чтобы создать каталог/папку в java, у нас есть два метода

Здесь метод makedirectory создает отдельный каталог, если он не существует.

File dir = new File("path name");
boolean isCreated = dir.mkdir();

и

File dir = new File("path name");
boolean isCreated = dir.mkdirs();

Здесь метод makedirectories создаст все каталоги, отсутствующие в пути, который представляет объект файла.

Например, см. ссылку ниже (объяснено очень хорошо). Надеюсь, поможет!! http://www.flowerbrackets.com/create-directory-java-program/

Ответ 15

Эта функция позволяет вам создать каталог в домашнем каталоге пользователя.

private static void createDirectory(final String directoryName) {
    final File homeDirectory = new File(System.getProperty("user.home"));
    final File newDirectory = new File(homeDirectory, directoryName);
    if(!newDirectory.exists()) {
        boolean result = newDirectory.mkdir();

        if(result) {
            System.out.println("The directory is created !");
        }
    } else {
        System.out.println("The directory already exist");
    }
}

Ответ 16

public class Test1 {
    public static void main(String[] args)
    {
       String path = System.getProperty("user.home");
       File dir=new File(path+"/new folder");
       if(dir.exists()){
           System.out.println("A folder with name 'new folder' is already exist in the path "+path);
       }else{
           dir.mkdir();
       }

    }
}

Ответ 17

Вы также можете ссылаться на makdir() для создания нового каталога в папке, в которой вы хотите.