在JavaFX中使用Filechooser查找文件,然后将其路径另存为字符串

And*_*rew 0 javafx filechooser filepath

我想知道是否可以在JavaFX中使用Filechooser来查找文件,然后当我在Filechooser中单击“打开”时,它将以某种方式将该文件的文件路径记录为String吗?

我已经在网上四处寻找有关如何执行此操作的信息,但是没有看到任何解释。如果有人可以向我展示一些示例代码,将不胜感激:)

jew*_*sea 5

FileChooser返回一个文件:

File file = chooser.showOpenDialog(stage);
Run Code Online (Sandbox Code Playgroud)

您可以仅调用toString()文件以将其作为字符串值获取:

if (file != null) {
    String fileAsString = file.toString();
    . . .
}
Run Code Online (Sandbox Code Playgroud)

选择

示例应用

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