Copier coller de fichier en java

[Résolu/Fermé]
Signaler
Messages postés
2
Date d'inscription
mercredi 19 juin 2013
Statut
Membre
Dernière intervention
21 juin 2013
-
Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
-
Bonjour,
SVP, je veux coller un fichier(source) dans un autre fichier sans supprimer le contenu du fichier (destinataire), j'ai utilisé alors la classe suivante:
import java.io.*;


public class fenetre {


/** copie le fichier source dans le fichier resultat
* retourne vrai si cela réussit
*/
public static boolean copyFile(File source, File dest){
try{
// Declaration et ouverture des flux
java.io.FileInputStream sourceFile = new java.io.FileInputStream(source);

try{
java.io.FileOutputStream destinationFile = null;

try{
destinationFile = new FileOutputStream(dest);

// 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);
}
} finally {
destinationFile.close();
}
} finally {
sourceFile.close();
}
} catch (IOException e){
e.printStackTrace();
return false; // Erreur
}

return true; // Résultat OK
}



public static void main (String[] args) {


File source = new File("C:\\Users\\DELL\\Documents\\code de produit 1\\PhotoViewScreen.java" );
File destina = new File("C:\\Users\\DELL\\Documents\\code de produit 1\\NewAlbumScreen.java" );
copyFile(source,destina);

}

}

cette code permet de copier le fichier mais supprimer le contenu.comment faire pour garder le contenu de fichier destinataire??
Merci d'avance :)

3 réponses

Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
25
Salut!
La Classe FileOutputStream a un constructeur qui est surchargé et donc en dehors de celui que tu as utilisé, il ya également celui-ci:

FileOutputStream(File,Boolean){}

qui prend en plus d'un fichier, un booléen dont la valeur true dit si tu souhaites "Ajouter" du contenu dans ton flux et non l'écraser .

Donc t'as juste à remplacer dans ton code ceci
	destinationFile = new FileOutputStream(dest); 

Par ceci :
	destinationFile = new FileOutputStream(dest,true); 

Et ça devrait marcher.

Bon courage!
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
mercredi 19 juin 2013
Statut
Membre
Dernière intervention
21 juin 2013

Merci beaucoup. ça marche :)
Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
25
Bonjour,
Le plus simple serait de lire le fichier (Mais cette foi ci ligne par ligne) et non en bloc comme tu as fait précedement, puis rechercher ton mot et garder le numero de la ligne ou ton mot est trouvé dans une variable, puis Relire le fichier cette fois ci en écriture et supprimer(Ecrire sur) la ligne correspondant (dont tu connais le numero)

Bon courage!
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci


Bonsoir,
j'ai un problème de chercher un mot dans un fichier java puis supprimer cette ligne.
par exemple :

public String RechercheFichier(){
on cherche le mot public puis supprimer cette ligne.

SVP comment faire?

Merci d'avance :)