2016-01-09 3 views
0

Je développe une application dans JavaFX. Alreadey je prends le fichier de TableView et veux l'enregistrer dans un autre répertoire en utilisant FileChooser comment puis-je faire cela?Comment enregistrer un fichier existant en utilisant FileChooser

public static void clickDownloadButton(String filename,Stage window){ 
    File file = new File(filename); 
    FileChooser fileChooser = new FileChooser(); 
    fileChooser.setTitle("Save file"); 
    fileChooser.showSaveDialog(window); 
} 
+0

double possible de [? Manière concise standard pour copier un fichier en Java] (http://stackoverflow.com/questions/106770/standard-concise-way- BTW: la réponse de sillyfly mentionne déjà la meilleure approche IMHO – fabian

+0

Le problème avec la question liée est que IMHO les réponses sont trop compliquées (parce qu'ils sont périmés/avant NIO a été largement utilisé? Je ne sais pas). l'utilisation de 'Files.copy' est très simple, et je ne vois aucune raison de jouer avec les flux ou d'utiliser des dépendances externes quand elles existent. – Itai

Répondre

2

utilisation java.nio.file.Files -

File dest = fileChooser.showSaveDialog(window); 
if (dest != null) { 
    try { 
     Files.copy(file.toPath(), dest.toPath()); 
    } catch (IOException ex) { 
     // handle exception... 
    } 
} 
+0

pourriez-vous expliquer votre code s'il vous plaît? Je ne comprends pas ce que fait cette ligne. 'Files.copy (file.toPath(), dest.toPath());' dans [docs.oracle] (http://docs.oracle.com/javafx/2/ui_controls/file-chooser.htm) ils ont fait de manière différente. – alhelal

+0

Voir la [documentation] (https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#copy-java.nio.file.Path-java.nio.file .Path-java.nio.file.CopyOption ...-) pour la méthode. Il copie le fichier donné par le premier argument au chemin donné par le second argument. – Itai

+0

from documentation "Par défaut, la copie échoue si le fichier cible existe déjà ou est un lien symbolique, sauf si la source et la cible sont le même fichier, auquel cas la méthode se termine sans copier le fichier existe, alors quelle fonction dois-je utiliser? – alhelal