|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Reggio Emilia
Messaggi: 817
|
[Java] Equivalente di "copyTo" in Java 1.6 per copiare dei files
Ciao a tutti!
Sto facendo un programma che backuppa files e cartelle. Cercavo un metodo che copi da un path a un altro Nella docuentazione ufficiale di Java, il tutto è ben spiegato: http://download.oracle.com/javase/tu...l/io/copy.html C'è un COMODISSIMO METODO copyTo, che in una sola istruzione copia quello che vuoi: http://download.java.net/jdk7/docs/a...pyOption...%29 Esempio: Codice:
import static java.nio.file.StandardCopyOption.*;
...
try {
path.copyTo(newPath, REPLACE_EXISTING, COPY_ATTRIBUTES);
} catch (IOException x) {
//Logic for error condition...
System.err.println(x);
return;
}
Questo metodo sia stato introdotto con Java 1.7 (e in ditta dobbiam tenere compatibilità con java 1.6) La mia domanda si potrebbe così riformulare: Esiste in java 1.6 un equivalente del metodo copyTo di Java 1.7 per copiare dei files e cartelle?? Se proprio non lo trovo dovrò mettermi a leggere a mano da un file su un buffer, e scrivere sull'altro, ma preferivo evitarlo: Quando possibile è sempre meglio usare delle API esistenti, piuttosto che reinventarsi la ruota, inoltre, ciò che è implementato nelle api di un linguaggio come java funziona spesso meglio di ciò che fai tu a mano.
__________________
FISSO:Athlon BE-2350,CoolerMaster TmgA2(ventola enermax warp 9 cm),4 giga ddr2-800,asus M3A(chipset passivo),WD320gig,Nv7200 passiva,Corsair TX650w...W il silenzio NOTEBOOK:Acer TM 4102wlmi,centrino740 1.73 ghz,x700 64mb,160 giga hd WD ,2gig ddr2 533 dual channel NOTEBOOK2:Asus X5DIN-SX035C,Lcd15'' C2DuoT6500, 4GB DDR2, Nvida G102M 512MB Dedic Ultima modifica di ferro986 : 15-02-2011 alle 10:56. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Ciao, non esiste un vero e proprio comando di copia nelle versioni precedenti alla 7
Credo che tu lo debba fare a manella (qui alcuni spunti http://forums.techarena.in/software-...nt/1130179.htm) Effettivamente è una cosa molto strana.
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: Reggio Emilia
Messaggi: 817
|
[OT]
I miei complimenti!: Quote:
Comunque ora ho trovato! Ci sono le librerie open source "FileUtils" del progetto Apache che fanno al caso mio: http://commons.apache.org/io/api-rel...FileUtils.html (basta Java 1.5 per supportarle) Mio esempio: Codice:
private void copiaFile(String pathSorgente, String pathDestinazione){
File fileSorg = new File(pathSorgente);
File fileDest = new File(pathDestinazione);
try {
FileUtils.copyFile(fileSorg, fileDest);
} catch (IOException e) { e.printStackTrace(); }
//Non devo fare close perchè il file non l'ho aperto, ci pensa lui ad aprir e chiudere
Cout.println("File copiato");
}
Mo ho un altro problema: Ci sarà modo di fare la stessa cosa zippando i files? Per zipparli alla bruta (scrivendo tutto il codice a mano) c'è l'apposita documentazione: http://java.sun.com/developer/techni...g/compression/ Esistono librerie per Java che zippano dei file e delle cartelle con una singola istruzione? ...... Forse stiamo andando un pò fuori tema, magari apro un'altra discussione a riguardo
__________________
FISSO:Athlon BE-2350,CoolerMaster TmgA2(ventola enermax warp 9 cm),4 giga ddr2-800,asus M3A(chipset passivo),WD320gig,Nv7200 passiva,Corsair TX650w...W il silenzio NOTEBOOK:Acer TM 4102wlmi,centrino740 1.73 ghz,x700 64mb,160 giga hd WD ,2gig ddr2 533 dual channel NOTEBOOK2:Asus X5DIN-SX035C,Lcd15'' C2DuoT6500, 4GB DDR2, Nvida G102M 512MB Dedic Ultima modifica di ferro986 : 16-02-2011 alle 09:35. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:20.



















