JFileChooser mit Dateinamenvorgabe

nieselfriem

Bekanntes Mitglied
Hallo!

Beim Speichern meiner Datei, soll der Dateiname vorgegeben werden. Momentan habe ich das Speichern der Datei wie folgt implementiert:
Java:
   try {
                //Dokumentdaten aus Datenbank ermitteln
                dokument = getDokData.retrieveOneDok(dokId);
          
                dokument.getMimeType();//Dateityp
                int returnVal = jc.showSaveDialog(this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = jc.getSelectedFile();
                    jc.setSelectedFile(new File(dokument.getDateiName()));//String kommt auch an
                    FileOutputStream fos = new FileOutputStream(file);
                    fos.write(dokument.getDatas());
                    fos.close();
                }
            }
Nur wird leider durch die Methode jc.setSelectedFile(new File(dokument.getDateiName())); bei mir kein Dateiname zum Speichern im Dateidialog angeben. Was mach ich falsch?

Grüße niesel
 

bERt0r

Top Contributor
Woher sollen wir wissen was deine getDateiName Methode macht? So wie du das machst kann das aber auch gar nicht funktionieren. Falls du es nicht weißt, du machst da folgendes
1. Der Variable file wird das ausgewählte File der FileChoosers zugewiesen
2. Dem FileChooser wird irgendein File das du mit deiner Methode erzeugst als ausgewählt gesetzt.
3. Du erstellst einen FileOutput stream, für die Variable file.

Die Variable file hat noch immer den gleichen Wert, deine get DateiName Methode hat sie nicht verändert.
 

nieselfriem

Bekanntes Mitglied
Woher sollen wir wissen was deine getDateiName Methode macht?
Die liefert einfach den Dateinamen der in der Datenbank gespeichert ist. Da hatte ich auch im Quelltext geschrieben, dass der String ankommt. Aber auch wenn ich einfach "test.txt" angebe hat es nicht funktioniert. Das das so wie ich es impl habe nicht funktioniert und funktionieren kann habe ich auch schon herausbekommen. ich wollte ja wissen wie es geht ;)

Grüße
 

bERt0r

Top Contributor
Ok, erstmal: Du erhälts von deinem FileChooser ein File Objekt, und ins Verzeichnis dieses FileObjekts willst du deine Datei mit einem bestimmten Namen speichern.
Das heißt erstmal finden wir heraus, in welchem Verzeichnis das File liegt:
Java:
File directory=file.getParentFile();
Jetzt erzeugen wir anhand Verzeichnis + Dateiname ein neues File Objekt (evtl. musst du hier noch einen slash einfügen):
Java:
File targetFile=new Filfe(directory.getAbsolutePath()+dateiname);
Und mit diesem file erstellen wir jetzt den Stream:
Java:
FileOutputStream fos=new FileOutputStream(targetFile);
 

nieselfriem

Bekanntes Mitglied
Aber das ist gar nicht mein Problem. In der Datenbank ist z.B. eine Datei gespeichert. Diese Datei heißt "test.pdf". In der Datenbank ist die Datei als Blob gespeichert und der Dateiname als String. Mit dokument.getDateiName() bekomme ich den Dateinamen. Nun soll vermieden werden, dass der Benutzer beim Speichern er Datei aus der Datenbank auf den Datenträger z.B. "test" angibt und damit nicht mehr zuordnen kann, was das für eine Datei ist, die er da gespeichert hat. Deshalb wollte ich einfach den gespeicherten Dateinamen aus der Datenbank als Vorgabe für den JFileChooser übernehmen.

Grüße niesel
 
Zuletzt bearbeitet:

bERt0r

Top Contributor
Meines Wissens nach geht das mit dem FileChooser nicht. Ist aber auch gar nicht notwendig. Das funktioniert genau so wie ich geschrieben habe.
Java:
String dateiname="MeinDateinameAusDerDatenbank.txt";
		JFileChooser jf=new JFileChooser();
		jf.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		jf.setMultiSelectionEnabled(false);
		
		
		int ret=jf.showSaveDialog(this);
		if(ret==JFileChooser.APPROVE_OPTION)
		{
			File directory=jf.getSelectedFile();
			File targetFile=new File(directory.getAbsolutePath()+File.separator+dateiname);
			System.out.println(targetFile);
		}
 

mla.rue

Bekanntes Mitglied
du kannst den vorgeschlagenen Dateinamen zum "Speichern" mit setSelectedFile(new File(String)) setzen, die Datei muss nicht existieren da es nur ein Vorschlag ist, zu beachten ist, dass das Setzen des Dateinamens vor dem Öffnen des Dialogs stattfindet

Java:
//code

JFileChooser chooser = new JFileChooser();
chooser.setSelectedFile(new File("blabla.txt"));
chooser.showSaveDialog(btnFCSave); //Dialog-Location am Knopf btnFCSave
//chooser.showSaveDialog(null); //Dialog-Location zentriert

//code

edit: die entsprechende Passage fett geschrieben, um die ANtwort der Frage anzupassen, muss ich irgendwie überlesen haben :)
 
Zuletzt bearbeitet:

markus99

Bekanntes Mitglied
Du kannst auch mit einem "Ordner-Tree" Dateien speichern (weiß grad nicht den Objektnamen).
Dort werden keine Dateien, nur Ordner (eben in einem "Tree") angezeigt.

Ich bin auch höchst unzufrieden mit diesen schlappen Möglichkeiten in Java.
Aber selbst schreiben? Da kommen dann so schöne Probleme wie Netzlaufwerke, Unsichtbare Dateien/Ordner, geschützte Dateien/Ordner (...).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
M JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary AWT, Swing, JavaFX & SWT 14
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und JFrame AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
M JFilechooser defaultdirectory AWT, Swing, JavaFX & SWT 5
C JFilechooser this.setAlwaysOnTop AWT, Swing, JavaFX & SWT 2
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1
N JFilechooser File auslesen AWT, Swing, JavaFX & SWT 10

Ähnliche Java Themen


Oben