使用DirectoryChooser创建并保存到文本文件

Gri*_*ire 3 java javafx save

我想创建一个我输入名称的文本文件并将其保存到一个位置。我可以使用DirectoryChooser选择位置,但是如何输入文件名。DirectoryChooser中是否为此提供了一个选项。

这是我的代码

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();
    }
Run Code Online (Sandbox Code Playgroud)

所以我想让我选择输入要保存的文件名。

例如

例

Jam*_*s_D 6

A DirectoryChooser使您可以选择目录。如果要选择文件(文件或现有文件),请使用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();
}
Run Code Online (Sandbox Code Playgroud)