Pfadangaben unter Java

Status
Nicht offen für weitere Antworten.
Hi Leute, ich bin beim Programmieren auf ein Problem gestoßen. Wenn ich eine Anwendung schreiben will und beispielsweise ein Bild einfügen möchte oder aber auch Dateien ereugen möchte zum abspeichern von Highscores oder sowas musste ich bisher immer sowas setzen:
Code:
 new FileOutputStream( "C:\\jaryx.txt" ) ) );
oder auch:
Code:
image = ImageIO.read(new FileInputStream("C:\\sun.jpg"));
Diese Art und Weise ist aber unpraktisch und verstößt gegen das mit der Plattformunabhängigkeit, denn unter Linux gibt es kein C:\\...
Außerdem müsste man nach dem erzeugen der ausführbaren Jar Datei zusätzlich immer noch alle Bilder mitliefern und dem Benutzer sagen das die Bilder nach C:\\ müssen und das kann ja auch nicht richtig sein.
Meine Frage nun, ob man das nich umgehen kann, indem man einen absoluten Pfad setzten kann, das die Bilder beispielsweise in die Jar Datei eingefügt werden und man aus dem Paket herraus die Bilder laden kann oder sowas. Ich hoffe es gibt da eine Plattformunabhänige Lösung...

Vielen Dank und viele Grüße

DarkAngelfire :toll:
 
B

bygones

Gast
du kannst natürlich auch die dateien ins jar einfügen...

das gabs hier schon öfters - suche mal zum Thema getRessource, Bild in jar usw....
 
So ich hab das nun wie folgt gemacht:
Code:
String pfad = System.getProperty("user.dir");
image = ImageIO.read(new FileInputStream(pfad+"\\sun.jpg"));
Beim ausführen in Eclipse funktioniert das ganze auch wunderbar, nur beim Exportieren als Jar Datei(er packt das Bild auch mit rein) rührt sich das garnix mehr auch wenn ich zum kontrollieren das hier setzte erscheint nichts:
Code:
g.drawString("path "+pfad,50,480);

hier mal der Codeausschnitt:
Code:
//Bild
      Graphics2D g2 = (Graphics2D)g;
	  try {
		  String pfad = System.getProperty("user.dir");
		  image = ImageIO.read(new FileInputStream(pfad+"\\sun.jpg"));
          g.drawString("path "+pfad,50,480);
      	  } catch (IOException e) { System.out.println(e); }
      	  g2.drawImage(image, 50, 330, 200, 120, this);
Nach dem starten der Jar Datei kommt einfach garnicht und wenn ich das ganze in Eclipse starte macht es das was es soll sowohl der Pfad als auch das Bild werden angezeigt. Kann es sein das user.dir mit der reinen VM nicht geht das nur das sdk das kann und der pfad deshalb fehlt?
 

fisch

Aktives Mitglied
Hi

Hast du eine Lösung für das Problem gefunden, hab nämlcih das gleiche Prob. Wenn ich in mein Projekt in Eclipse starte funktioniert es wunderbar, wenn ich aber eine jar erstelle dann nimmt er nicht das verzeichnis in dem die jar liegt sonder den in dem das ganze erstellt wurde. und das funzt ja so gar nicht

Hat irgendjemand eine Lösung dafür. mit relativen Pfadangaben passiert bei mir übrigens das gleiche

Edit: Es muss nicht unbedingt die Datei aus dem jar geladen werden, da die Datei auch noch als solche mitgeliefert wird also im Ordner
 
G

Guest

Gast
Hallo,

um auf Bilder oder sonstige Dateien zu zugreifen, egal ob sie in einem Package oder in einem Order abgelegt sind benutze ich folgendes:

Code:
 image = new ImageIcon(getClass().getResource("/package/eventuellerUnterordnerImPackage/image.gif")
 

fisch

Aktives Mitglied
hm ich hab mir ein paar von den anderen posts zu dem getRessource auch durchgelesen und es funktioniert wenn ich es in eclipse aufrufe, allerdings funktioniert es nicht wenn es als jar ausgeführt wird. kann leider den fehler nicht sagen, da es überhaupt nicht gestartet wird, da gleich zu beginn eine datei geladen werden muss
 

thE_29

Top Contributor
Achja, anstatt eines \\


Immer File.separator verwenden!

Der ist dann unter Win \\ und unter Linux/mac ein /!

Somit hat man immer den richtigen ^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Korrekte Pfadangaben damit eine .jar Datei unter Windwos läuft. Allgemeine Java-Themen 24
Tippster Input/Output relative Pfadangaben Allgemeine Java-Themen 6
O Java-Applikation tut in Netbeans, als JAR nicht, wegen Pfadangaben einer benötigten Datei Allgemeine Java-Themen 8
BattleMaster246 Resource Pfadangaben Allgemeine Java-Themen 4
C Pfadangaben Allgemeine Java-Themen 6
S Problem mit Pfadangaben Allgemeine Java-Themen 2
A Java unter Win 10 Allgemeine Java-Themen 1
M Eclipse unter Linux Lite Allgemeine Java-Themen 2
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
MarekLanger Filebeat in Docker unter Windows Allgemeine Java-Themen 1
H Java SDK unter 32 Bit Allgemeine Java-Themen 5
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
H Änderung im maximalen heap space unter Windows 7 ?! Allgemeine Java-Themen 5
E Erfahrungen mit Java/JS Bridge unter nodejs und NodeJS/C++ Bridge Allgemeine Java-Themen 0
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
K USB infos unter Linux abfragen? Allgemeine Java-Themen 2
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
N Lizenzensierung von Java Programmen unter Linux Allgemeine Java-Themen 3
H Summe aller Vielfachen von 3 oder 5 unter 1000. Allgemeine Java-Themen 7
krgewb LookAndFeel unter Mac OS Allgemeine Java-Themen 1
Cromewell JavaFX FXML-File lädt unter Ubuntu nicht Allgemeine Java-Themen 7
D JRE in .jar verpacken unter Windows Allgemeine Java-Themen 4
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
C Windows RCP Application unter Linux bauen lassen Allgemeine Java-Themen 3
X Zeile unter einer bestimmen Zeile hinzufügen(File) Allgemeine Java-Themen 1
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
F URI-Scheme mit Java unter MacOS erstellen? Allgemeine Java-Themen 0
E Drucken einer Pdf Datei unter Java. Allgemeine Java-Themen 1
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
F Mencoder unter Java Ausführen Allgemeine Java-Themen 0
G Methoden HashMap speichert unter falschen Schlüsseln Allgemeine Java-Themen 6
G IR Fernbedienung unter Java Allgemeine Java-Themen 0
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
S JAAS unter Ubuntu? Allgemeine Java-Themen 0
J Compiler-Fehler Compiliert unter Eclipse aber nicht mit javac Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
P java.nio.file unter Java 6 verwenden Allgemeine Java-Themen 4
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
C JasperReports, PDF und "Speichern unter"-Dialog Allgemeine Java-Themen 7
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
C Darstellungsproblem unter Debian und OpenJDK Allgemeine Java-Themen 5
R Umlautproblem unter Linux Allgemeine Java-Themen 10
C derby db unter mac os Allgemeine Java-Themen 8
B File Seperator unter verschiedenen OS Allgemeine Java-Themen 2
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
B Methode läuft nicht unter UNIX Allgemeine Java-Themen 6
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
S Java-Installation unter Sun OS Allgemeine Java-Themen 3
K Xattr Mac unter Java ansprechen Allgemeine Java-Themen 17
D Clipboard getSystemSelection() funktioniert unter Windows* nicht Allgemeine Java-Themen 3
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
T Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ? Allgemeine Java-Themen 22
J Path-Eintrag unter Windows 7 Allgemeine Java-Themen 11
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
C .jar unter Windows7 über den Explorer starten Allgemeine Java-Themen 6
S (Doppel)Klick-Verhalten vom Desktop unter Java imitieren. Allgemeine Java-Themen 5
Z Probleme mit Java unter Vista/ Windows 7 Allgemeine Java-Themen 12
M Realisierung einer dynamischen Tabelle unter Android Allgemeine Java-Themen 3
C Datei auslesen wie unter Linux mit "tail -f" Allgemeine Java-Themen 3
J Java-Datei unter Mac OS X öffnen - eine Frage der Klasse Allgemeine Java-Themen 2
G Textdatei einlesen unter Windows 7 Allgemeine Java-Themen 4
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
H String spliten unter berücksichigung von " und \" Allgemeine Java-Themen 7
V linuxprogramm unter java aufrufen??? Allgemeine Java-Themen 4
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
N JAR Datei ausführen unter Angabe einer speziellen Klasse Allgemeine Java-Themen 2
J Eclipse unter Windows 7 Allgemeine Java-Themen 5
T Pfad Anwendungsdaten unter Windows ermitteln Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
A CLASSPATH unter Debian Lenny Allgemeine Java-Themen 4
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
E Alle unter Prozesse der beim schließen mit schließen Allgemeine Java-Themen 3
J dialogys unter linux Allgemeine Java-Themen 4
S Problem beim Drucken auf Netzwerkdrucker unter Linux Allgemeine Java-Themen 9
R Sound unter Java Allgemeine Java-Themen 12
I Fehler unter 64Bit JDK Allgemeine Java-Themen 4
S Jar und Exe verhalten sich unterschiedlich unter Vista Allgemeine Java-Themen 8
D Botschaftssendung unter Klassen Allgemeine Java-Themen 4
H JDIC unter 1.5 Allgemeine Java-Themen 2
G Generics - W.card unter Nutzung von Annotationsklasse? Allgemeine Java-Themen 6
B Frage zu Sichtbarkeit in (Unter)Paketen Allgemeine Java-Themen 9
F Document öffnen unter Linux Allgemeine Java-Themen 4
0 kein Java unter Server 2008 ? Allgemeine Java-Themen 3
J Runtime.exec unter win vista? Allgemeine Java-Themen 10
S unter UNIX - (symbolic) links erkennen? Allgemeine Java-Themen 12
L dateizugriff unter windows nicht behindern Allgemeine Java-Themen 2
W Deployment unter Linux Allgemeine Java-Themen 17

Ähnliche Java Themen

Neue Themen


Oben