2016-04-13 6 views
0

Ich möchte eine Textdatei mit einem Namen erstellen, den ich eingegeben und an einem Speicherort gespeichert habe. Ich kann DirectoryChooser verwenden, um den Speicherort auszuwählen, aber wie kann ich den Dateinamen eingeben. Gibt es dafür eine Option in DirectoryChooser?Erstellen und Speichern in einer Textdatei mit DirectoryChooser

heres mein Code

public void directoryChooser() { 
     DirectoryChooser chooser = new DirectoryChooser(); 
     chooser.setTitle("Choose location To Save Report"): 
     File selectedDirectory = null; 
     while(selectedDirectory == null){ 
     selectedDirectory = chooser.showDialog(null); 
     } 

     File file = new File(selectedDirectory + "/" + "Report.txt"); 
     PrintWriter outFile = null; 
     try { 
      outFile = new PrintWriter(file); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     for(int i = 0; i<table.getItems().size(); i++){ 
      outFile.println(table.getItems().get(i).toString()); 
     } 
     outFile.close(); 
    } 

so will ich es mir die Möglichkeit zu geben Sie den Namen der Datei geben, zu speichern.

zum Beispiel

example

+0

Verwenden Sie einen 'FileChooser'? –

+0

Ich dachte, Dateiauswahl war nur zum Auswählen von Dateien ?? oder wählen Sie die Datei aus, in der Sie speichern möchten. Kann Dateiauswahl eine neue Datei erstellen? – Grimeire

+0

Ja. 'FileChooser' ruft nur den regulären" Speichern "-Dialog auf, wenn Sie' showSaveDialog' aufrufen. –

Antwort

2

A DirectoryChooser können Sie ein Verzeichnis. Wenn Sie eine Datei (neu oder vorhanden) auswählen möchten, verwenden Sie eine FileChooser.

public void directoryChooser() { 
    FileChooser chooser = new FileChooser(); 
    chooser.setTitle("Choose location To Save Report"): 
    File selectedFile = null; 
    while(selectedFile== null){ 
     selectedFile = chooser.showSaveDialog(null); 
    } 

    File file = new File(selectedFile); 
    PrintWriter outFile = null; 
    try { 
     outFile = new PrintWriter(file); 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    for(int i = 0; i<table.getItems().size(); i++){ 
     outFile.println(table.getItems().get(i).toString()); 
    } 
    outFile.close(); 
} 
+0

Ich möchte nicht eine Datei auswählen, ich möchte eine Datei erstellen. – Grimeire

+0

Bitte versuchen Sie den Code. –

+0

Sorry ich versuchte dies früher, aber ich rief ShowOpenDialog() nicht erkennen, dass Sie HowSaveDialog() hatte. das ist genau das, wonach ich gesucht habe. Danke – Grimeire

Verwandte Themen