Image Datei selektieren und in Projekt Verzeichnis abspeichern/kopieren

SyntaxTalksToMe

Bekanntes Mitglied
Guten Abend,

wie der Name schon sagt, möchte ich gerne eine Image Datei, die ich über den FileChooser auswähle in das Projekt Verzeichnis kopieren. Von der Herangehensweise, hab ich das Gefühl, alles bedacht zu haben. Wenn ich es in der laufenden App probiere, kommt auch keine Exception. Es passiert aber auch nichts. Hier ist der Code:

Code:
FileChooser filechooser = new FileChooser();

        File file = filechooser.showOpenDialog(null);
        File dest = new File("@File:\\src\bilder");

        if (file != null) {

            try {
                Files.copy(file.toPath(), dest.toPath(), StandartCopyOptions);
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

Zu meiner Denkweise:

Ich wähle das File über den Filechooser aus, welches dann in file gespeichert wird. Das File dest soll angeben, wohin die neue Datei kopiert werden soll.

Ich habe ja die Maskierung im "File dest" in Verdacht^^.. Aber ich hatte mich da an die Dokumentation gehalten.


Vielen Dank im Voraus
 

mrBrown

Super-Moderator
Mitarbeiter
Sicher, dass "@File:\\src\bilder" ein valider Pfad ist? (Bzw, ist er durch das '\b' in jedem Fall nicht, das @FiLe sieht aber auch komisch aus...)

"bilder" ist auch vermutlich ein (existierendes) Verzeichnis - dein Bild soll vermutlich in dieses Verzeichnis kopiert werden, und es nicht ersetzen (je nach CopyOptions), du müsstest also einen Pfad innerhalb dieses Ordners angeben.
 

SyntaxTalksToMe

Bekanntes Mitglied
Ich hab grad geguckt. Es hatte bei mir sogar schon funktioniert. Er brachte eine Exception, dass das Bild an der besagten Stelle schon existiert. Allerdings wurde mir nichts im Projekt Folder angezeigt. Aber ich hab mal den Workspace geöffnet und reingeschaut und sah tatsächlich das Bild. Es wurde kopiert.

Ich hätte aber gerne, dass es auch in dem Project Folder angezeigt wird. Ich hatte auch mal Eclipse geschlossen und wieder geöffnet.
Es ist zwar im Ordner bilder im Workspace,aber nicht in der IDE in dem Ordner. Woran liegt das?
 

SyntaxTalksToMe

Bekanntes Mitglied
Hallo

es ist meine Schuld, dass mein voran gegangener Post aufgrund meines Doppelposts übersehen wurde. Ich würde gerne wissen, wo der Fehler in dem Path ist. Denn: Die Datei wird tatsächlich in meinen gewünschten Ordner kopiert. Allerdings sehe ich diese Datei nur, wenn ich den den Workspace aufmachen und dort in die Ordner reinschaue. In der IDE, wo sich der Ordner ja ebenfalls befindet, wird die Datei nicht angezeigt. Und ich habe den Pfad überprüft und erkenne da keinen Fehler

C:\Users\me\Pictures\main.PNG -> \src\bilder\main.PNG

Ich habe den Code nochmal abgeändert und hatte den Fehler den mrBrown angesprochen hatte gefunden im Pfad.

Code:
FileChooser filechooser = new FileChooser();

        File file = filechooser.showOpenDialog(null);
        File dest = new File("src/bilder/", file.getName());

        if (file != null) {

            if (!dest.exists()) {

                try {
                    Files.copy(file.toPath(), dest.toPath(), StandardCopyOption.COPY_ATTRIBUTES);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }
 

SyntaxTalksToMe

Bekanntes Mitglied
Was passiert denn, wenn Du eine Datei per Explorer reinkopierst?

Kann es sein, dass durch mein Weg es nur in den Folder kopiert wird, aber nicht direkt in die Application? Da sich ja das Bilder Package außerhalb der application ist und dadurch die Informationen nicht bekommt?
 

SyntaxTalksToMe

Bekanntes Mitglied
Ich gebe zu, ich hätte mir ein Lösungsvorschlag erhofft. Aber ich verstehe natürlich dass du mir vermitteln möchtest, selbst danach zu suchen, da so der Lerneffekt größer ist.

Ok das hab ich getan. Ich hab das Problem verstanden und auch eine Lösung.

Und zwar habe ich jetzt dem Build Path den Ordner hinzugefügt, wo die Bilder eingespeichert sind.
Da mein Anspruch es ist, sauber und gut zu programmieren, jetzt meine Frage an euch Fachleute:

Ist das eine saubere Lösung? Oder eher ein Notbehelf für Leute die es nicht besser wissen.
 

mrBrown

Super-Moderator
Mitarbeiter
Kommt drauf an, was du machen möchtest.

Den Build-Path und das src-Verzeichiss, gibt es halt nur zur "Programmierzeit", wenn dein Programm fertig ist, existieren die nicht mehr.
 

SyntaxTalksToMe

Bekanntes Mitglied
Aha. Interessant. Sry, das ist jetzt mein erstes Java Projekt. Falls ein paar Fragen seltsam erscheinen :)

Also eher weniger erstrebenswert. Was wäre denn ein guter Weg? Im fertigen Programm sollen dann auch noch Bilder hinzugefügt oder gelöscht werden können.
 

mihe7

Top Contributor
Ich gebe zu, ich hätte mir ein Lösungsvorschlag erhofft. Aber ich verstehe natürlich dass du mir vermitteln möchtest, selbst danach zu suchen, da so der Lerneffekt größer ist.
In dem Fall war das noch nicht einmal beabsichtigt; ich dachte, das wäre klar.

Was wäre denn ein guter Weg? Im fertigen Programm sollen dann auch noch Bilder hinzugefügt oder gelöscht werden können.
Das ist kein guter Weg. Wieso sollte ein Benutzer zum Programm Ressourcen hinzufügen können?
 

SyntaxTalksToMe

Bekanntes Mitglied
Wenn sich beispielsweise Pläne ändern. Mir stellt sich eher die Frage, warum ein Benutzer es nicht ändern sollte? Das ist nämlich eine Kern Funktion in dem was ich vorhabe.

Ja, es ist kein guter Weg. Was wäre denn ein guter Weg?

Ich möchte über einen FileChooser ein Image auf dem Computer auswählen können, dass anschließend an einer Stelle gespeichert wird, vorzugsweise da, wo das Programm installiert ist.

Eine Datenbank hält die Pfade zu den Bildern(die dann innerhalb der Application gespeichwert werden sollen). Und über einen Slider und dessen Index wird entsprechend des Indexes das richtige Bild in einem ImageView angezeigt. An diese Bilder sind noch andere Dinge gekoppelt. Da ich das ganze modular und dynamisch aufbauen möchte, ist es wie bereits gesagt erforderlich, dass der Nutzer Bilder hinzufügen oder löschen kann...
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Mir stellt sich eher die Frage, warum ein Benutzer es nicht ändern sollte? Das ist nämlich eine Kern Funktion in dem was ich vorhabe.
Stell Dir mal eine .EXE-Datei vor, die enthält ebenso Ressourcen und wird auch nicht geändert, nur weil der Benutzer ein Bild hinzufügt.

Ich möchte über einen FileChooser ein Image auf dem Computer auswählen können, dass anschließend an einer Stelle gespeichert wird, vorzugsweise da, wo das Programm installiert ist.
Das ist etwas völlig anderes, denn hier fügst Du keine Ressourcen zum Programm hinzu, sondern legst einfach Daten im Dateisystem ab, was natürlich problemlos möglich ist. Allerdings willst Du die Dateien nicht (zumindest nicht automatisch/standardmäßig) dort speichern, wo das Programm installiert ist, denn auf das Verzeichnis hat der Benutzer oftmals keinen Zugriff.

Als Benutzer würde ich erwarten, dass ich mir den Speicherort aussuchen kann, z. B. bei der Installation oder in den Programm-Optionen. Du kannst solche Einstellungen mit Hilfe der Preferences API verwalten (https://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html)

Alternativ kann man den Speicherort beim Aufruf des Programms mitgeben, als Parameter, System-Property bzw. Umgebungsvariable. Möglichkeiten gibt es genug.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Image in Datei speichern bzw anzeigen Java Basics - Anfänger-Themen 5
S Image-Datei mit relativem Pfad angeben Java Basics - Anfänger-Themen 3
G Area mit Teil-Image füllen Java Basics - Anfänger-Themen 0
B Image Matching in Memory Minigame Java Basics - Anfänger-Themen 7
J JLabel bzw. Image Icon mit KeyEvent bewgen Java Basics - Anfänger-Themen 9
Butzibu Image Loader lädt nicht alle Bilder: Java Basics - Anfänger-Themen 4
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
T Image Icon Java Basics - Anfänger-Themen 3
K File (png) in Image laden Java Basics - Anfänger-Themen 3
M Image löschen Java Basics - Anfänger-Themen 2
G Image in Vordergrund Java Basics - Anfänger-Themen 3
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
H Image laden Java Basics - Anfänger-Themen 4
R Image drehen Java Basics - Anfänger-Themen 1
R Image Teilen Java Basics - Anfänger-Themen 3
B Image laden im GridBagLayout Java Basics - Anfänger-Themen 3
N Image von Resource wird nicht geladen Java Basics - Anfänger-Themen 2
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
F Image wird nicht gezeichent?! Java Basics - Anfänger-Themen 21
N Hintergrund image mit .setContentPane Java Basics - Anfänger-Themen 6
W aus Methode auf JLabel zugreifen und Image verändern Java Basics - Anfänger-Themen 1
S buffered image Java Basics - Anfänger-Themen 18
V Scale displayed Image via JCheckBox Java Basics - Anfänger-Themen 1
I Resize Image - Einlesen von InputStream Java Basics - Anfänger-Themen 3
M Image Download klappt nicht mehr Java Basics - Anfänger-Themen 4
Chava Testprojekt.Text.Image.Button Java Basics - Anfänger-Themen 4
S Image nach MausMotion rotieren Java Basics - Anfänger-Themen 7
L Erste Schritte Java Image und Video-Slideshow GUI Java Basics - Anfänger-Themen 3
D Kleinere Positionsangabe als einzelne Pixel bei Image? Java Basics - Anfänger-Themen 28
S Image in Panel laden Java Basics - Anfänger-Themen 12
H Prüfen, ob jpg image schon vorhanden ist, bevor es geladen wird Java Basics - Anfänger-Themen 13
V Image Crawler Java Basics - Anfänger-Themen 3
P Erste Schritte Buffered Image splitten und darstellen Java Basics - Anfänger-Themen 2
P Erste Schritte Image anzeigen in ausführbarer jar mit der Toolkit class Java Basics - Anfänger-Themen 8
T udp -> bytearray -> image -> ausgabe via frame Java Basics - Anfänger-Themen 6
A Image (Bitmap) in String (für XML) Java Basics - Anfänger-Themen 7
F Buffered Image über Socket versenden Java Basics - Anfänger-Themen 6
T Image ist Null - warum? Java Basics - Anfänger-Themen 18
V Image -> 2D Array (int [][]) Java Basics - Anfänger-Themen 4
L Image laden und auf jPanel ausgeben Java Basics - Anfänger-Themen 7
V FileInputStream auf ein swt.Image Java Basics - Anfänger-Themen 6
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
F Image übertragen und zeichnen Java Basics - Anfänger-Themen 8
G Problem mit Image.IO.read( File ) Java Basics - Anfänger-Themen 3
G Image spiegeln Java Basics - Anfänger-Themen 17
Y Trotz add wird Image in GradBagLayout nicht angezeigt Java Basics - Anfänger-Themen 5
Spin Image helper Java Basics - Anfänger-Themen 6
M Image Metadaten setzen Java Basics - Anfänger-Themen 2
Spin Backgrond Color von Image ermitteln Java Basics - Anfänger-Themen 2
C Image draw... Java Basics - Anfänger-Themen 7
M Image-Icon Ändern Java Basics - Anfänger-Themen 15
J Image upload auf ImageShack,TinyPic usw. Java Basics - Anfänger-Themen 11
R Image laden die Zweite Java Basics - Anfänger-Themen 4
R Image laden Java Basics - Anfänger-Themen 10
M Image zeichenen mit Double Werten Java Basics - Anfänger-Themen 4
B polyline auf buffered image malen Java Basics - Anfänger-Themen 2
G Image to File Java Basics - Anfänger-Themen 4
T Image Position erkennen Java Basics - Anfänger-Themen 6
Spin Image skalieren Java Basics - Anfänger-Themen 2
Spin Background Image Java Basics - Anfänger-Themen 2
K Image / drawImage Java Basics - Anfänger-Themen 2
P Buffered Image, Bereich ausschneiden Java Basics - Anfänger-Themen 3
F Image Editor Java Basics - Anfänger-Themen 2
R Image aus jar laden (dieses mal awt) Java Basics - Anfänger-Themen 19
B Image flimmert Java Basics - Anfänger-Themen 4
Povlsen84 Image exakt erzeugen Java Basics - Anfänger-Themen 5
B Teile einer Image in neue Image kopieren Java Basics - Anfänger-Themen 4
X ARGB Werte auslesen aus Image Java Basics - Anfänger-Themen 2
O Image Loader laedt bild nicht Java Basics - Anfänger-Themen 11
H String to image! Java Basics - Anfänger-Themen 6
H2SO3- image beim awt frame wegmachen Java Basics - Anfänger-Themen 2
M Probleme mit Manifest und Image Java Basics - Anfänger-Themen 2
T Java Bilderverwaltung - Image Fetcher Problem Java Basics - Anfänger-Themen 4
G Image laden Java Basics - Anfänger-Themen 16
O Drag & Drop mit Image? Java Basics - Anfänger-Themen 2
G Image/-Icon wird nicht auf JPanel angezeigt Java Basics - Anfänger-Themen 4
M Image aus JPanel Java Basics - Anfänger-Themen 2
G Kompletten (image) Array löschen Java Basics - Anfänger-Themen 14
P Fileinputstream to image? Java Basics - Anfänger-Themen 3
G Image Problem Java Basics - Anfänger-Themen 5
G Image Java Basics - Anfänger-Themen 3
M draw.Image Java Basics - Anfänger-Themen 11
O Image laden Java Basics - Anfänger-Themen 6
G Image Java Basics - Anfänger-Themen 2
S Botton und Image kombinieren Java Basics - Anfänger-Themen 3
S import javax.image.io.*; funktioniert nicht Java Basics - Anfänger-Themen 28
D Image drehen Java Basics - Anfänger-Themen 6
DeeDee0815 Uncaught error fetching image Java Basics - Anfänger-Themen 2
A Image erstellen Java Basics - Anfänger-Themen 3
N Grösse eines Image ändern? Java Basics - Anfänger-Themen 4
I Image Dateinformationen auslesen Java Basics - Anfänger-Themen 7
A image uploader applet Java Basics - Anfänger-Themen 10
S image speichern Java Basics - Anfänger-Themen 12
D ImageIO metadata auslesen aus png image Java Basics - Anfänger-Themen 2
G Ausmaße eines Image-Object herrausfinden Java Basics - Anfänger-Themen 4
R Einem Image-Object Alpha-Transparenz hinzufügen Java Basics - Anfänger-Themen 3
S Image in byte[] umwandeln? Java Basics - Anfänger-Themen 2
G Ein Image langsam einblenden und nach 5 Sekunden ausblenden? Java Basics - Anfänger-Themen 10
U Image einlesen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben