Сохранение через FileChooser

318
11 сентября 2017, 04:10

Всем добрый день, я хочу чтобы пользователь выбирал где сохранять файл сам через FileChooser в JavaFX, но когда он выбирает директорию например D:\File\ а тут мне выдают сообщение что я не могу сохранять файлы в данной директории!!! Я администратор и я не могу сохранять, печально... Как сделать так, чтобы я мог сохранять там, где захочу?

    FileChooser fileChooser = new FileChooser();[![введите сюда описание изображения][1]][1]
    fileChooser.setTitle("Select directory for save");
    fileChooser.setInitialFileName("decryptImage");
    fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Image", "*.png"));
    File newImageFile = fileChooser.showSaveDialog(expandOverlapButton.getScene().getWindow());

А далее я использую объект newImageFile в методе ImageIO.write(...);

Answer 1

Чтобы исключить недоразумений можете попробовать запустить вот этот код и проверить будет ли происходить сохранение?

import javafx.application.Application;
import javafx.embed.swing.SwingFXUtils;
import javafx.scene.image.ImageView;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class Test extends Application {
    @Override
    public void start(Stage primaryStage) throws IOException {
        Stage stage = new Stage();
        FileChooser fileChooser = new FileChooser();
        fileChooser.setTitle("Select directory for save");
        fileChooser.setInitialFileName("decryptImage");
        fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Image", "*.jpg"));
        File file = fileChooser.showSaveDialog(stage);
        if (file != null) {
            ImageView imageView = new ImageView();
            URL url = new URL("https://www.google.by/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png");
            BufferedImage image = ImageIO.read(url);
            imageView.setImage(SwingFXUtils.toFXImage(image, null));
            ImageIO.write(SwingFXUtils.fromFXImage(imageView.getImage(),
                    null), "png", file);
        }
    }
    public static void main(String[] args) {
        launch(args);
    }
}

Если результат будет тот же, то хотя бы будет понятно, что ошибка где-то в локальном энвароменте поскольку данный код работает на моем локальном компьютере. И если это все-таки будет так, то будем думать дальше.

READ ALSO
Передача данных из базы SQLite в Recyclerview

Передача данных из базы SQLite в Recyclerview

Всем приветС sqlite работаю недавно

254
Вывод из HashMap

Вывод из HashMap

Возможно ли вывести значение из id, damage или count?

288
Вывести стек исключений

Вывести стек исключений

Нужно вывести стек исключений, например:

535
Считать весь поток сообщения

Считать весь поток сообщения

Читается только 10069 символов, или есть ли способ читать всю json структуру?

273