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

时间:2016-04-13 13:34:06

标签: java javafx save

我想创建一个名为i input的文本文件并将其保存到某个位置。我可以使用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();
    }

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

例如

example

1 个答案:

答案 0 :(得分:3)

使用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();
}