javafx文件另存为
时间: 2023-08-30 11:06:46 浏览: 46
你可以使用JavaFX中的FileChooser类来实现文件另存为操作。下面是一个简单的JavaFX程序,用于演示如何使用FileChooser类将文本文件保存到计算机中。
```java
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileChooserExample extends Application {
private final TextArea textArea = new TextArea();
@Override
public void start(final Stage primaryStage) throws Exception {
final Button saveButton = new Button("Save");
saveButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
FileChooser fileChooser = new FileChooser();
//设置文件类型过滤器
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("Text files (*.txt)", "*.txt");
fileChooser.getExtensionFilters().add(extFilter);
// 显示另存为对话框
File file = fileChooser.showSaveDialog(primaryStage);
if (file != null) {
saveTextToFile(textArea.getText(), file);
}
}
});
BorderPane root = new BorderPane();
root.setCenter(textArea);
root.setBottom(saveButton);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
private void saveTextToFile(String content, File file) {
try {
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(content);
bufferedWriter.close();
fileWriter.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
public static void main(String[] args) {
launch(args);
}
}
```
程序中包含一个TextArea和一个Button,通过点击Button,可以弹出一个文件选择对话框,选择要保存的文本文件,并将TextArea中的内容保存到该文件中。在这个例子中,我们使用了Java的FileWriter和BufferedWriter类来将文本写入文件中。