Próbuję uzyskać ścieżkę do zasobu, ale nie miałem szczęścia.Jak uzyskać ścieżkę do zasobu w pliku JAR Java
Działa to (zarówno w IDE i JAR), ale w ten sposób nie można uzyskać ścieżkę do pliku, tylko zawartość pliku:
ClassLoader classLoader = getClass().getClassLoader();
PrintInputStream(classLoader.getResourceAsStream("config/netclient.p"));
Gdybym to zrobić:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
wynikiem jest: java.io.FileNotFoundException: file:/path/to/jarfile/bot.jar!/config/netclient.p (No such file or directory)
Czy istnieje sposób, aby uzyskać ścieżkę do pliku zasobów?
mogę zapytać, dlaczego trzeba ścieżkę? –
Tak. Mam klasę, którą chciałbym pracować z obydwoma, folder na zewnątrz (na wypadek, gdy chcę zmienić jakiś parametr pliku konfiguracyjnego) i JAR, który ukrywa pliki konfiguracji implementacji dla użytkownika (jak dystrybuowalny JAR dla wszystkich ludzi). –
Tak więc klasa otrzymuje właśnie PATH do pliku (pliku konfiguracyjnego). –