Datei in Package ablegen

Steven85

Mitglied
Gibt es eine möglichkeit eine Datei (z.B. ein Bild) via Code in eines der voranden Packages abzulegen?
Zur Verfügung steht mir der Pfad der Datei als String.
 
packages sind auf der Festplatte auch nur Ordner, da kannst du ganz normal Dateien reinkopieren.
Packst du dein Programm allerdings als jar File schaut das ganze etwas anders aus, zur Laufzeit deines Programms kannst du das jar file nicht bearbeiten. Ansonsten kannst du die jar Datei nen normales zip Archiv behandeln und zusätzliche Dateien reinpacken.
 
Kopiere ich eine Datei in den jeweiligen Ordner und starte Eclipse ist nichts in dem Package zu sehen. Ich muss es erst in Eclipse ins Package ziehen um es zu sehen.
 
Ok das funktioniert soweit.

Jetzt will ich eine ausgewählte Datei zur Laufzeit im Sourc Ordner in dieses Package ablegen. Wie komm ich an diesen Pfad?
 
Guck doch nach, wie der Pfad aussieht in deinem Source-Ordner.
Code:
src/<package>/<subpackage>/...
?
Oder was meinst du?

[EDIT]Du wirst natürlich auch dann in eclipse aktualisieren müssen um das Ergebnis zu sehen 😉[/EDIT]
 
Es fuktioniert jetzt.
Mit...

Java:
AddFrame.class.getResource("/javagui/resources/").getPath();

...komm ich an den Pfad.

Eine Frage habe ich noch.

Speicher ich eine Datei jetzt über das Programm zur Laufzeit wird es im bin abgelegt.
In Eclipse jedoch kann ich im Projekt nur den src Ordner sehen, dort stehen die Bilder dann nicht zur Verfügung.

Ist das ein Problem?
 
Auch bei einem Refresh sind die Bilder dann aber nicht im src Ordner.
Er synchronisiert anscheinend nur in eine Richtung.

Kann man das ändern evtl.?
 
Kann man das ändern evtl.?
Nein, Eclipse kompiliert/kopiert Dateien aus dem src-Ordner/den src-Ordnern in das Verzeichnis, wo die kompilierten Klassen rein sollen (standardmäßig bin). Von dort kann die Anwendung dann gestartet werden. Andersrum macht Eclipse das nicht (würde auch keinen Sinn machen, zumindest bei den kompilierten Klassen).

Dein Szenario scheint mir auch etwas komisch. Vielleicht schreibst Du etwas zum Hintergrund Deiner Anforderung, dann können wir evtl. alternative Vorgehensweisen vorschlagen.
 
Ich wähle zur Laufzeit per JFileChooser eine Bilddatei aus, kopiere sie dann in
das bin Verzeichnis und den neuen Pfad speichere ich dann in MySQL.

Ziel ist es Bilder im Frame anzuzeigen. Den Pfad holt er sich logischerweise dann wieder aus MySQL.

Funktioniert alles tadellos.

Was mich nur stört ist, dass im Pfad Leerzeichen durch %20 angezeigt werden, welche ich dann durch einen Leerstring ersetze. Ist nicht bestimmt nicht Ideal.

Das Ziel wähle ich mit,

Java:
AddFrame.class.getResource("/javagui/resources/").getPath();

aus.
 

Zurück
Oben