Почему при записи файла файл пустой?

119
03 марта 2021, 22:40
package sample;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.scene.control.MenuItem;
import javafx.scene.control.TextArea;
import javafx.stage.FileChooser;
import java.io.*;

public class Controller {
    @FXML
    private ResourceBundle resources;
    @FXML
    private URL location;
    @FXML
    private TextArea text_area_main;
    @FXML
    private MenuItem openfile_btn;
    @FXML
    private MenuItem savefile_btn;
    @FXML
    void initialize() {
        openfile_btn.setOnAction(event -> {
        });
        String output = text_area_main.getText();
        savefile_btn.setOnAction(event -> {
            FileChooser f = new FileChooser();
            f.showSaveDialog(null);
            File file = f.showSaveDialog(null);
                try {
                FileWriter writer = new FileWriter(file);
                writer.write(output);
                }catch(IOException eq){eq.printStackTrace();}

        });
    }
}

файл сохраняется но он пустой. при дебаге выяснилось что output пустой. Вопрос почему? Предлагайте решение.

Answer 1

после writer.write(output); закрой writer.close();

 @FXML
void initialize() {
    openfile_btn.setOnAction(event -> {
        output = text_area_main.getText();
        System.out.println(text_area_main.getText());
        System.out.println(output);
    });
    savefile_btn.setOnAction(event -> {
        System.out.println(output);
        FileChooser fileChooser = new FileChooser();
        File file = fileChooser.showOpenDialog(null);
        try {
            FileWriter writer = new FileWriter(file);
            writer.write(output);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    });
}
READ ALSO
Почему не работает click()?

Почему не работает click()?

Всё хорошо работает до выполнения click()Выдаёт исключение: org

95
React и серверный рендеринг

React и серверный рендеринг

Пишу проекты на ReactПериодически требуется рендерить для ботов SPA на сервере

88
Как подключить файл из другой подпапки

Как подключить файл из другой подпапки

Как подключить таблицу стилей из другой папки ? Уже все перепробовал и так import "/сss/bootstrap

95
Как показать блоки только один раз?

Как показать блоки только один раз?

Есть блок в котором есть картинкиКогда пользователь нажимает на картинку ему показывает три блока с текстом

87