Как создать папку в корневом каталоге моего Java-приложения? - PullRequest
1 голос
/ 01 января 2012

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

Например:

Из этого:

enter image description here

Для этого (просто введя имя пользователя в игре):

enter image description here

Ответы [ 4 ]

1 голос
/ 01 января 2012

Создание каталога внутри подкаталога 1 по известному и воспроизводимому пути 2 .

  1. Например, структура каталогов на основе имени пакетаосновного класса - это помогает избежать конфликтов с другими приложениями.
  2. Хорошее место - user.home - это должен быть каталог, из которого игра может читать и писать.
1 голос
/ 01 января 2012

Из этого форума :

File f = new File("TestDir");
try{
  if(f.mkdir())
    System.out.println("Directory Created");
  else
    System.out.println("Directory is not created");
}catch(Exception e){
  e.printStacktrace();
}
1 голос
/ 01 января 2012

Определить «главный каталог вашего Java-приложения»? Такого зверя нет.

Вы хотите быть очень осторожным, когда делаете такие вещи из соображений безопасности. Лучше всего определить каталог в файле свойств и использовать его в качестве базового каталога для вашего приложения. Тогда, как уже говорилось, это просто использование .mkdir{,s}() для достижения того, что вы хотите.

И @ C.Reed также справедливо говорит, что вам следует проверить возвращаемое значение mkdir(): Java File File имеет серьезные недостатки в том, что он не будет генерировать исключение, когда создание / перемещение каталога / файла не удастся. К счастью, Java 1.7 вылечит это с помощью своих новых API.

(пример, с которым я столкнулся, - это просмотр кода, который не может .move() создать файл: проблема в том, что он работал на компьютере разработчика, но на рабочем компьютере каталог должен был быть перемещен на другую файловую систему -> опустошение)

Подсказка: используйте Apache commons-io

0 голосов
/ 01 января 2012

Если основной каталог является рабочим директором вашего приложения, вы можете создать каталог с помощью

new File("new-dir").mkdir();
...