Java relative path geht nicht?

2 Antworten

Packe deine Datei in den resources-Ordner (src/main/resources) und lade sie dann mittels ClassLoader.

InputStream inputStream = getClass().getClassLoader().getResourceAsStream("path your file");

Der Pfad zur Datei darf nicht mit einem Slash beginnen. Er startet relativ zum Ressourcen-Ordner.

Für Weiteres lies hier:


GregCat 
Beitragsersteller
 19.01.2020, 16:51

klappt

danke

0
GregCat 
Beitragsersteller
 19.01.2020, 19:59
@GregCat

leider nur im IDE an Sonaten ist es null und ich bekomme ne io exeption reingeballert

0
GregCat 
Beitragsersteller
 19.01.2020, 16:48

ohne / das selbe

0

Das hier ist nicht das richtige Forum für solch eine Frage. Geeigneter dafür ist http://stackoverflow.com/.
Wenn du eine Datei mit relativem Pfad ansprichst, dann bezieht sich das immer auf den Ausführungsort deines Programms. Wenn dein relativer Pfad "./meinverz/meine.datei" ist und sich dein Programm in "/home/meinbenutzer/Desktop/" befindet, dann muss sich auch eine Datei am Zielort "/home/meinbenutzer/Desktop/meinverz/meine.datei" befinden, sonst bekommst du Fehler.
Vorsicht, wenn du dein Programm nicht direkt, sondern über eine IDE (in deinem Fall IntelliJ) ausführst, dann ist dein Ausführungsort nicht da, wo sich dein Programm (deine JAR-Datei) befindet, sondern in irgendeinem Verzeichnis von IntelliJ.

Woher ich das weiß:Berufserfahrung

GregCat 
Beitragsersteller
 19.01.2020, 15:52

es geht auch in ner Jar nicht

0
Hutie  19.01.2020, 15:54
@GregCat

Dann greifst du auf den falschen Pfad. Lege das in ein Try-Catch und hol dir die Fehlermeldung. Dann siehst du genau, was fehlschlägt.

0
GregCat 
Beitragsersteller
 19.01.2020, 16:04
@Hutie

es findet den relativen path nicht I/O Error when copying filejava.nio.file.NoSuchFileException: EFIs/NoWindows/Intel Core i3_i5_i7_i9 (6th_7th_8th_9th)/Gigabyte z390 DESIGNARE/AMD Radeon VII (VEGA 20)/EFI.zip

at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)

at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)

at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)

at java.base/sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:548)

at java.base/sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:258)

at java.base/java.nio.file.Files.copy(Files.java:1298)

at com.GK.MainGUI$1.actionPerformed(MainGUI.java:99)

at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)

at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)

at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)

at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)

at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)

at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)

at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)

at java.desktop/java.awt.Component.processEvent(Component.java:6401)

at java.desktop/java.awt.Container.processEvent(Container.java:2263)

at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)

at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)

at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)

at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)

at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)

at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)

at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)

at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2762)

at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)

at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)

at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)

at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)

at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)

at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)

at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)

at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)

at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)

at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)

at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)

at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)

at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

0