Deplacer un fichier

Résolu
viking85 Messages postés 59 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 28 mars 2007 - 18 août 2005 à 11:52
viking85 Messages postés 59 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 28 mars 2007 - 18 août 2005 à 14:56
salut à tous.

J'ai un petit probleme :
j'ai un repertoire "Racine" qui contient un repertoire "Archive" et plusieurs fichiers "Logs".
je voudrais savoir comment déplacer un des Logs dans Archive.

existe-t-il une méthode move(File f)? ou quel que chose dans le genre.

Merci,
Chris.

2 réponses

scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
18 août 2005 à 13:15
salut

malheuresement Java ne donne pas de solution directe à ce problème mais on peut toujours utiliser le code suivant :

public static boolean deplacer(File source,File destination) {
if( !destination.exist() ) {
// On essaye avec renameTo
boolean result = source.renameTo(destination);
if( !result ) {
// On essaye de copier
result = true;
result &= copier(source,destination);
result &= source.delete();

} return(result);
} else {
// Si le fichier destination existe, on annule ...
return(false);
}
}

public static boolean copier( File source, File destination )
{
boolean resultat = false;

// Declaration des flux
java.io.FileInputStream sourceFile=null;
java.io.FileOutputStream destinationFile=null;

try {
// Création du fichier :
destination.createNewFile();

// Ouverture des flux
sourceFile = new java.io.FileInputStream(source);
destinationFile = new java.io.FileOutputStream(destination);

// Lecture par segment de 0.5Mo
byte buffer[]=new byte[512*1024];
int nbLecture;

while( (nbLecture = sourceFile.read(buffer)) != -1 ) {
destinationFile.write(buffer, 0, nbLecture);
}

// Copie réussie
resultat = true;
} catch( java.io.FileNotFoundException f ) {

} catch( java.io.IOException e ) {

} finally {
// Quoi qu'il arrive, on ferme les flux
try {
sourceFile.close();
} catch(Exception e) { }
try {
destinationFile.close();
} catch(Exception e) { }
}
return( resultat );
}


voila j'espère que ce bout de code t'aidera pour ton programme

bonne continuation
3
viking85 Messages postés 59 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 28 mars 2007 14
18 août 2005 à 14:56
j'ai essayer avec un renameTo(File f) et ça marche très bien.

Merci scaryman.
0
Rejoignez-nous