Как установить путь сохранения для файла, выбранного в filechooser JavaFX

Я искал вокруг, но не мог найти ничего на этом.
Я хотел бы установить путь сохранения (назначения) для файла, выбранного в Filechooser. Например, я выбрал картинку под названием ‘test.jpg’, I would like for this ‘ test.jpg ‘ для сохранения в C:blahblahblahPictures. Как я могу это сделать?
Пока код у меня есть

public void OnImageAddBeer(ActionEvent event){

    FileChooser fc = new FileChooser();

    //Set extension filter
    fc.getExtensionFilters().addAll(new ExtensionFilter("JPEG Files (*.jpg)", "*.jpg"));
    File selectedFile = fc.showOpenDialog(null);

    if( selectedFile != null){



    } 
}

4 ответа

  1. Попробовать это:

      String fileName = selectedFile.getName();
      Path target = Paths.get("c:/user/test", fileName);
      Files.copy(selectedFile.toPath(), target);
    
  2. Все, что вам нужно сделать, это скопировать содержимое внутри файла выберите В где вы хотите, попробуйте что-то вроде этого:

    if(selectedFile != null){
       copy(selectedFile.getAbsolutePath(), "C:\blah\blah\blah\Pictures\test.jpg");
    }
    

    и метод copy:

    public void copy(String from, String to) {
        FileReader fr = null;
        FileWriter fw = null;
        try {
            fr = new FileReader(from);
            fw = new FileWriter(to);
            int c = fr.read();
            while(c!=-1) {
                fw.write(c);
                c = fr.read();
            }
        } catch(IOException e) {
            e.printStackTrace();
        } finally {
            close(fr);
            close(fw);
        }
    }
    public static void close(Closeable stream) {
        try {
            if (stream != null) {
                stream.close();
            }
        } catch(IOException e) {
            //...
        }
    }
    

    В основном copyпросто скопируйте содержимое файлаfrom, расположенного внутри нового файла, расположенного по toадресу .

  3. Добавьте эту инструкцию, если требуется задать путь назначения:

    fc.setInitialDirectory(new File(System.getProperty("user.home") + "\Pictures"));
    
  4. Принять это:

        String dir = System.getProperty("user.dir");
        File f = new File(dir + "/abc/def");
        fc.setInitialDirectory(f);