2015-04-06 3 views
0

Я пытаюсь создать новую папку в уже существующей папке, существующая папка предоставляется приложением в начале и по умолчанию я назову ее «Диспетчер файлов» и будет храниться непосредственно на C: \ root (пример: C: \ File Manager). Сначала я создать код, позволяющий пользователю назвать новую папку:Создание папки в уже существующей папке

 System.out.println("Enter name of folder you like to create: "); 
     Scanner userFolderInput = new Scanner(System.in); 
     String nameFolder = userFolderInput.nextLine(); 
     File makeDirectory = new File(nameFolder); 

тогда я проверяю, если папка, в которой пользователь дал имя уже существует и попытаться создать его:

 try{ 
      if(!makeDirectory.exists()){ 
       makeDirectory.mkdir(); 
       System.out.println("You have create folder by name: " + makeDirectory.getName()); 
      }else{ 
       System.out.println("Folder by name " + makeDirectory.getName() + " already exist!"); 
      } 
     }catch(Exception ex){ 
      System.out.println("Error - Folder coudnt be created!"); 
     } 

, но это только создает новую папку ввода пользователем в папке проекта, но не в папке, которую приложение запускало при запуске. Могу ли я узнать, как изменить свой код, поэтому, когда пользователь создает новую папку, в папке диспетчера файлов, созданной в начале приложения?

ответ

0
File containingFolder = new File("C:/File Manager"); 
File makeDirectory = new File(containingFolder, nameFolder); 
+0

спасибо, что ответ сейчас работает – Denis

0

Если вы не укажете путь, он автоматически создаст его в каталоге проекта. Поэтому, когда пользователь вводит имя папки, вам нужно добавить к ней путь, где он должен быть создан.

 File makeDirectory = new File("C:\\"+nameFolder); 

ИЛИ

File makeDirectory = new File(fileManager, nameFolder); 
+0

спасибо за быстрый откликается. Когда я пытаюсь сделать все, что он делает, он создает новую папку непосредственно в C: \\ root, если я добавляю имя папки по умолчанию как FIle makeDirectory = новый файл («C: \\ File Manager», + nameFolder); что он создает новую папку на имя C: \ root «Имя новой папки File Manager», но не помещает ее в папку, которую я хочу. – Denis

+0

Пробуйте вторую строку кода. –

+0

спасибо, что ответ сейчас работает – Denis

Смежные вопросы