Java FileChooser geschriebener Dateiname

Xerxes18

Lieutenant
Registriert
Aug. 2008
Beiträge
700
Guten Abend,

normalerweise setzt man ja eine neue Datei mit:

File = new File ("file.txt");

Aber wenn man einen JFileChooser benutzt, wie bekommt man dann den eingegeben String aus dem Textfeld und das wichtige: Wie bekommt es hin, dass es in dem Verzeichniss gespeichert wird, dass man ausgewählt hat?
 
Hi,

jep die Seite habe ich gesehen, aber das beschreibt nur das öffnen nicht das speichern.

Unten gab es zwar auch ein Beispiel, da habe ich den Code aber so gut wie garnicht verstanden :(
 
Xerxes18 schrieb:
Hi,

jep die Seite habe ich gesehen, aber das beschreibt nur das öffnen nicht das speichern.

Unten gab es zwar auch ein Beispiel, da habe ich den Code aber so gut wie garnicht verstanden :(

Dann bist du wohl noch nicht soweit. Mehr als so ein einfaches Beispiel koennen wir dir hier auch nicht anbieten. Bzw. was verstehst du denn konkret nicht an
PHP:
            if (e.getSource() == saveButton) {
            int returnVal = fc.showSaveDialog(FileChooserDemo.this);
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();
                //This is where a real application would save the file.
                log.append("Saving: " + file.getName() + "." + newline);
            } else {
                log.append("Save command cancelled by user." + newline);
            }

Einfach mit getSelectedFile den Dateinamen ordern und dann mit der File-Klasse die entsprechende Methoden zum speichern aufrufen.
 
Hi,

ok, dann mal der Reihe nach :)

Code:
public void actionPerformed(ActionEvent e) {                           
//Funktion "actionPerformed", wird bei Klick auf Button ausgelöst

    if (e.getSource() == openButton) {
        int returnVal = fc.showOpenDialog(FileChooserDemo.this);

//Wenn der Auslöser der Button war dann kommt der FileChooserDialog ins Spiel

        if (returnVal == JFileChooser.APPROVE_OPTION) {

//Wenn im FileChooserDialog OK geklickt wird...
            File file = fc.getSelectedFile();
//... wird das File "file" mit der Stringauswahl aus dem FileChooserDialog instanziiert
            log.append("Opening: " + file.getName() + "." + newline);

//blabla, kannst du vernachlässigen
        } else {
            log.append("Open command cancelled by user." + newline);
//Abbruch der Funktion
        }
   } ...
}

Hab dir den Code mal kommentiert. Vielleicht wird er besser verständlich. Jetzt hast du ein File mit dem Namen "file". Was hast du damit jetzt vor? Kopieren oder was genau?

VG,
Mad
 
Also ich habe folgendes Problem:

Irgendwie kann ich das nicht in meinen BufferedReader einbauen:




Das Problem:

Wenn ich die Sachen von der Main-Methoder in die If-Anweisung schreibe, funktioniert es komischerweise nicht mehr :(
 
Zuletzt bearbeitet:
Und was für einen Fehler bringt er dir? Geht es denn "solo"? Ist ein bisschen viel Code für nebenher, kannst du die entsprechenden Stellen mal isoliert testen und hier posten, falls ein Fehler auftritt?

VG,
Mad
 
Das Problem, dass er das nicht mehr codiert, wenn ich die Sachen aus der Main Methode hole, habe ich gelöst :)

Und jetzt macht der Dialog auch was ich will :)

Vielen Dank!

Eine letzte Frage hätte ich da noch, wie bestimme ich die Endung der Datei?
 
Zuletzt bearbeitet:
Hi,

klingt ja schonmal gut. Und welches Problem besteht jetzt noch? Kriegen wir sicher auch noch hin :)

VG,
Mad
 
Also ich denke das ist ein Filter den ich da setzen muss.

Also ich habe es geschafft, dass die Datei immer als .txt abgespeichert wird. Aber ich möchte, dass dann unter "Dateityp" in dem Filechooser auch steht das es .txt ist und nicht Alle Dateien.
 
Super danke nochmals, hat wunderbar geklappt, echt ein klasse Forum :)

Jetzt habe ich zwar in "Dateityp" Txt stehen, aber wie bekomme ich "Allgemeine Daten" weg?

MFG
Xerxes
 
Ich habe mich verschriben, ich meinte "Alle Dateien"

hier ein Bild:

 
Hi,

ah ok, du möchtest, dass ausschließlich Textdateien gewählt werden können? Hm. Ich bin ehrlich gesagt aus der C#-Welt, kenne Java auch nur von kleineren Problemchen.

JFileChooser f = new JFileChooser();
f.setAcceptAllFileFilterUsed(false);

Mit dem "setAcceptAllFileFilterUsed(false);" sollen alle anderen Optionen im FileChooser deaktiviert werden und nur deine "txt" angezeigt werden.

Kann das so klappen?

Habe ich von hier.

VG,
Mad
 
Zurück
Oben