Проблемы с каталогом Java Windows и Mac

Я работаю над java-приложением, которое должно загружаться в изображениях из того же каталога, в котором будет находиться файл.jar. Ниже приведен код, который у меня есть, и он отлично работает в Windows (в рабочей области я используя и в каталоге.jar, где бы я ни выразился). Однако, когда я пытаюсь запустить файл.jar в OS X, он не работает. Я получаю исключение нулевого указателя. Есть что-то, что мне не хватает? или какой-то форматирующей вещи, о которой я не знаю?

String dir = System.getProperty("user.dir");

File folder = new File(dir+"/");
File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++) {
 if (listOfFiles[i].isFile()) {
 String name = listOfFiles[i].getName();
 String fileType = name.substring(name.length()-3, name.length());
 if (fileType.equals("jpg")){
 File file = new File(dir+"/"+name);
 listMPs.add(new MusicPanel(file));
 base.add(listMPs.get(count));
 base.add(listMPs.get(count).switchLabel);
 if(count==0){
 base.add(listMPs.get(0).firstSwitchLabel);
 }
 assignIndexes();
 assignMLs();
 count++;
 }
 } 
 }
2 ответа

Есть что-то, что мне не хватает?

Возможно, вы пропустили, что приложения не должны хранить свободные файлы в каталоге установки программы. Фактически, Sun/Oracle заняла крайние периоды с помощью апплетов и запущенных приложений JWS. чтобы даже доверенные не могли обнаружить это местоположение. Поместите файлы в более доступное место. Обычным местом является подкаталог user.home.


Вы должны использовать File.separator вместо ручной подачи / в ваших путях. Java будет форматировать пути в соответствии с текущей реализацией ОС.

licensed under cc by-sa 3.0 with attribution.