Copier coller de fichier en java
Résolu
soniabenbey
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
tksteph Messages postés 204 Date d'inscription Statut Membre Dernière intervention -
tksteph Messages postés 204 Date d'inscription Statut Membre Dernière intervention -
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 :)
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:
- Copier coller de fichier en java
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier epub - Guide
- Fichier rar - Guide
3 réponses
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:
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
Par ceci :
Et ça devrait marcher.
Bon courage!
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!
soniabenbey
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
Merci beaucoup. ça marche :)
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!
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!