在JavaFX中使用Filechooser查找文件然后将其保存为字符串

时间:2016-12-08 01:47:12

标签: javafx filepath filechooser

我想知道是否可以在JavaFX中使用Filechooser来定位文件,然后当我点击"打开"在Filechooser中它会以某种方式将该文件的文件路径记录为String?

我已经在网上浏览了如何做到这一点,但没有看到任何解释。如果有人能给我看一些如何做到这一点的示例代码,那将非常感激:)

1 个答案:

答案 0 :(得分:3)

FileChooser返回一个文件:

File file = chooser.showOpenDialog(stage);

您只需在文件上调用toString()即可将文件作为字符串值:

if (file != null) {
    String fileAsString = file.toString();
    . . .
}

selection

示例应用

import javafx.application.Application;
import javafx.geometry.*;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

import java.io.File;

public class SavePath extends Application {

    @Override
    public void start(final Stage stage) throws Exception {
        Button button = new Button("Choose");
        Label chosen = new Label();
        button.setOnAction(event -> {
            FileChooser chooser = new FileChooser();
            File file = chooser.showOpenDialog(stage);
            if (file != null) {
                String fileAsString = file.toString();

                chosen.setText("Chosen: " + fileAsString);
            } else {
                chosen.setText(null);
            }
        });

        VBox layout = new VBox(10, button, chosen);
        layout.setMinWidth(400);
        layout.setAlignment(Pos.CENTER);
        layout.setPadding(new Insets(10));
        stage.setScene(new Scene(layout));
        stage.show();
    }

    public static void main(String[] args) throws Exception {
        launch(args);
    }
}