Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654

    [JAVA] Come effettuare la copia di files

    Salve,
    nella mia applicazione faccio utilizzo di un JFileChooser per la selezione multipla di files. Il FileChooser tramite il metodo getSelectedFiles() mi restituisce un array dei files selezionati dall'utente. Io vorrei ricopiare tutti questi files in un'altra cartella modificandone anche i nomi. Come posso fare questo?
    Maddalena... Perché proprio Iacchetti!...

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    File f = new File(path);
    File newf = new File(path);
    FileReader fr = new FileReader(f);
    FileWriter fw = new FileWriter(newf);
    int r;
    while ((r=fr.read()) != -1)
    fw.write(r);
    fw.close();
    fr.close();
    :mavieni: :mavieni: :mavieni: :mavieni: :mavieni: :mavieni: :mavieni:

  3. #3
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Grazie, proverò ad implementare questo script (sono nuovissimo di JAVA e non so se ci riuscirò) poi ti faccio sapere!
    Maddalena... Perché proprio Iacchetti!...

  4. #4
    Incapsula i FileReader e FileWriter in
    BufferedReader e BufferedWriter, altrimenti la copia dei file avviene troppo lentamente.

    Inoltre, piuttosto che usare i Reader che sono per file di testo, usa i generici InputStream per file binari :

    codice:
    File f = new File(path);
    File newf = new File(path);
    BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
    BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(newf));
    int r;
    while ((r=br.read()) != -1)
    bw.write(r);
    bw.close();
    br.close();
    S.O. : Ubuntu 5.04
    Lang : J2*E,PHP,tcl/tk

  5. #5
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Ho implementato il codice in questo modo:
    //fc è il JFileChooser
    File files[] = fc.getSelectedFiles();
    for(int i=0; i<files.length; i++)
    {
    if (files[i].isFile())
    {
    File f = new File(files[i].getName());
    File newf = new File(files[i].getName() + "W");

    BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
    BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(newf));

    int r;

    while ((r=br.read()) != -1)
    bw.write(r);

    bw.close();
    br.close();
    }
    }
    Ma quando provo a compilare ottengo la seguente sfilza di errori:
    (vedi immagine allegata)

    Non capisco dove sbaglio!
    Maddalena... Perché proprio Iacchetti!...

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    fai un try catch
    try {
    // code
    }
    catch (IOException ioex) {
    ioex.printStackTrace();
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.