Copier coller de fichier en java

Résolu/Fermé
soniabenbey Messages postés 2 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 21 juin 2013 - 19 juin 2013 à 22:29
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 - 24 juin 2013 à 08:00
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 :)
A voir également:

3 réponses

tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
20 juin 2013 à 00:14
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
soniabenbey Messages postés 2 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 21 juin 2013
21 juin 2013 à 02:08
Merci beaucoup. ça marche :)
0
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
24 juin 2013 à 08:00
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
soniabenbey
23 juin 2013 à 21:30
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 :)
1