OVH Cloud OVH Cloud

copie d'un fichier

2 réponses
Avatar
JBB
bonjour,
Je n'arrive pas a trouver une methode simple pour faire une copie de
fichier!
Un truc du genre: File.copy(String Source,String Destination)
Cela doit bien pourtant exister ? non?

Merci a tous.

2 réponses

Avatar
Kupee
bonjour,
Je n'arrive pas a trouver une methode simple pour faire une copie de
fichier!
Un truc du genre: File.copy(String Source,String Destination)
Cela doit bien pourtant exister ? non?

Merci a tous.


Non ca n'existe pas il faut manipuler les Streams toi même.
Tu peux utiliser l'api Common IO de jakarta
http://jakarta.apache.org/commons/io/ qui contient entre autre de
méthodes permettant de le faire

Avatar
alexandre cartapanis
bonjour,
Je n'arrive pas a trouver une methode simple pour faire une copie de
fichier!
Un truc du genre: File.copy(String Source,String Destination)
Cela doit bien pourtant exister ? non?

Merci a tous.


/**
* <p>
* Copies recursivly.
* </p>
* <p>
* This method copys a file (or a directory's contents) to a specified
directory.
* </p>
* @param _src The file (or directory) to move.
* @param _dest The specified file new parent (must be a valid directory) .
* @return <code>boolean</code> - True if the file has been succesfully
copied, false otherwise.
*/
public static boolean copy(File _src, File _dest) {
if (_src.exists()) {
if (_dest.isDirectory()) {
if (_src.isDirectory()) {
File[] fList = _src.listFiles();
boolean ret = false;
for (int i = 0, n = fList.length; i < n; i++) {
if (fList[i].isDirectory()) {
ret = copy(fList[i], new
File(_dest.getAbsolutePath() + File.separator + fList[i].getName()));
} else {
ret = copy(fList[i], new
File(_dest.getAbsolutePath()));
}
}
return ret;
} else if (_src.isFile()) {
try {
IOUtilities.copy(_src, new
File(_dest.getAbsolutePath() + File.separator + _src.getName()));
return true;
} catch (IOException excp) {
return false;
}
} else {
return false;
}
}
}
return false;
}

Attention, ça copie le fichier _src DANS le répertoire _dest, il ne
copie pas le contenu de _src dans _dest. C'est à dire que cette métho de
remplace le parent de _src par _dest. Par exemple,
copy("/home/alex/test.txt", "/home/toto") vas déplacer test.txt dans le
répertoire /home/toto.


--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email