2016-05-02 9 views
0

J'ai cherché autour mais je n'ai rien trouvé à ce sujet. Je voudrais définir le chemin d'enregistrement (destination) pour un fichier sélectionné dans Filechooser. Par exemple, j'ai sélectionné une image appelée 'test.jpg', je voudrais que 'test.jpg' soit enregistré dans C: \ blah \ blah \ blah \ Pictures. Comment puis-je retirer ceci? Jusqu'à présent, le code que j'aiComment définir le chemin de sauvegarde pour un fichier choisi dans filechooser JavaFX

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){ 



    } 
} 
+0

Vous voulez copier ou déplacer le fichier 'test.jpg'? – aleb2000

+0

Formulation resserrée. – Prune

Répondre

0

Essayez ceci:

String fileName = selectedFile.getName(); 
    Path target = Paths.get("c:/user/test", fileName); 
    Files.copy(selectedFile.toPath(), target); 
0

Tout ce que vous devez faire est de copier le contenu dans le fichier choisir partout où vous voulez, essayer quelque chose comme ceci:

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

et la copie de la méthode:

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) { 
     //... 
    } 
} 

Fondamentalement copy il suffit de copier le contenu du fichier situé dans from dans un nouveau fichier situé au to.

0

Ajouter cette déclaration si vous souhaitez définir le chemin de destination:

fc.setInitialDirectory(new File(System.getProperty("user.home") + "\\Pictures")); 
0

Prenez ceci:

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