Salut,
La solution du clonâge me parait douteuse, car en fait la classe File contient les informations du fichiers (son chemin principalement), mais pas ses données.
Le plus simple est de procéder ainsi, je suppose que "source" est le fichier à copier, et "copie" est le fichier dans lequel on copie. (import java.io.*;)
public void copier(File source, File copie) throws IOException { //Flux de lecture FileInputStream lecteur = new FileInputStream(source); //Flux d'écriture FileOutputStream ecrivain = new FileOutputStream(copie); //Buffer de copie. On peut mettre une taille plus grande. //Attention tout de même à la mémoire byte[] tab = new byte[1024]; //Lit des données et renvoie le nombre de byte lus int lu = lecteur.read(tab); //Tant qu'on est pas à la fin du fichier source while(lu>=0) { //On écrit les données lues ecrivain.write(tab, 0, lu); //On prend les données suivantes lu = lecteur.read(tab); } //On attends que les doerniéres données soient bien écrites ecrivain.flush(); //On ferme les flux ecrivain.close(); lecteur.close(); }
|
JHelp