2014-11-28 2 views
0

Когда я создаю каталог в моей программе, имя каталога не будет тем, что мне нужно. Каталог создается в нужном месте, но его имя объединяется с родительским каталогом.Имя родительских каталогов в сочетании с новым именем каталога

String folderPath = album.toString(); 
folderPath = filePath+" "+folderPath; 
File folder = new File(folderPath); 
System.out.println(filePath); 
folder.mkdir(); 

Здесь Filepath является "/ Users/Myname/Desktop/Skrivbord" и путь_к_папке является "Все фотографии".

Создана директория, но ее название «Skrivbord All Photos». Я не могу понять, как получить название каталога только «Все фотографии».

Я нахожусь на Mac, если это поможет.

Любые идеи?

ответ

0

Это кажется, что это Java-файл Chooser, который задает имя родительского каталога в новое имя каталога. В поле «файл» указано «Скривборд». Думаю, мне нужно проверить, нужно ли делать некоторые настройки в файле.

Но эй, спасибо за советы, ребята! :)

0

Изменить это:

folderPath = filePath+" "+folderPath; 

к этому:

folderPath = filePath+"/"+folderPath; 

Редактировать на основе комментариев:

Если вам необходимо также создать родительские каталоги, вы можете использовать folder.mkdirs() и он будет создайте необходимые родительские каталоги.

+0

Если я изменю его, то каталог не будет создан вообще ... –

+0

Существует ли папка «Skrivbord»? Если нет, замените 'mkdir()' на 'mkdirs()', и он также создаст для вас родительские каталоги. –

+0

Да, это действительно exsist, по крайней мере, я так думаю. Я получаю filePath из выбора файла Java. И btw «Skrivbord» - это «Рабочий стол» в шведском, поэтому папка есть, но я могу попробовать с помощью mkdirs() вместо этого :) –

0

Рассмотрим использование API NIO.2 файла:

Path parentDirPath = Paths.get(parentDirPathString) 
Path albumPath = parentDirPath.resolve(album.toString()); 
System.out.println(albumPath); 
Files.createDirectories(albumPath); 
+0

Это какой-то API, который мне нужно скачать откуда-то или он встроен в java? –

+0

Редактировать: Хорошо, так что это в JDK 7. Я действительно не хочу, если я смогу установить это, потому что эта программа предназначена для курса по проекту в школе, и я не знаю, будет ли это работать на их компьютерах. –

+0

Обратите внимание, что Oracle Java SE 6 достиг конца жизни. Я рекомендую, чтобы ваша школа по крайней мере обновлялась до последней версии Java SE 7 или выше до последней версии Java SE 8. Возможно, они сделали это уже, поэтому вы можете сначала проверить это. – Puce