Я создал приложение (Вы можете найти всю вещь здесь, чтобы увидеть проблему самостоятельно: https://github.com/Tressos-Aristomenis/Snakes-And-Ladders-JavaFX-from-scratch!), И я поставил немного фоновой музыки.
Я на самом деле использую папку с названием "музыка", которая содержит все треки. В моем компьютере "music" находится по адресу: D: \ MyWork \ PersonalStuff \ Programming \ Refactored_SnakesAndLadders_v2 \ Refactored_SnakesAndLadders_v2 \ src \ music .
Если я использую этот путь на моем ПК , чтобы указать, где находятся дорожки, он работает нормально. Очевидно, что это не характерно для любого другого ПК. Я обнаружил, что " System.getProperty (" user.dir ") " указывает местоположение, откуда был запущен Java.
Использование пути: private final String TRACKS_PATH = System.getProperty("user.dir") + "\\music";
на самом деле работает и на моем ПК более динамично. Теперь папку «музыка» можно найти независимо от того, где находится проект.
ПРОБЛЕМА
Некоторые мои друзья скачали файл .jar, даже весь код + jar, и приложение не запущено; это означает, что NullPointerException в строках:
TRACKS_DIRECTORY = new File(TRACKS_PATH);
TRACKLIST = TRACKS_DIRECTORY.listFiles();
TRACKLIST - это массив файлов. Очевидно, что TRACKS_DIRECTORY является нулевым, поскольку путь неверен.
Любая помощь о том, как определить общий путь для каждого пользователя, который запускает мое приложение?