VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Copie de fichier en java

xander - Dernière réponse le 9 août 2011 à 17:42
bjr,
je voudrais faire une copie de fichier par exemple une image gif en java, lorsqu il s agit de .txtn y a pas de pbl ms des qu il s agit d un autre format, la copie s effectue mais je ne peux pas ouvrir le fichier!!j ai utilise un BufferedReader pr lire le fichier et un FileWriter pr ecrire sur le nouveau...
merci
Lire la suite 

Copie de fichier en java »

8 réponses
Réponse
+9
moins plus
je crois qu'il veut copier une image, et non pas la créée.
sinon voiçi un petit bout de code qui fait l'affaire:

public static boolean copier( File source, File destination ){ //Methode permettant la copie d'un fichier
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 );
}
esperanza - 9 août 2011 à 15:33
salut j'ai essayé avec cette fonction pour copier une image mais ne marche plus je sais pas pourquoi si quelqu'un à déjà essayé peut m'aider
KX- 9 août 2011 à 17:42
Le code de ghitaik n'est pas parfait (l'utilisation d'un buffer byte[512*1024] est contestable) mais je viens de vérifier et il marche très bien ! Il te faut utiliser ce genre de méthode main pour l'utiliser :

import java.io.File;

public static void main(String...args)
{
    boolean b = copier(new File("D:\\test.jpg"),new File("D:\\test_copie.jpg"));
    System.out.println(b);
}

Si ton problème persiste créé une nouvelle discussion.
Ajouter un commentaire
Réponse
+1
moins plus
Hi,

Le problème c que tu fais une copie en mode texte.
Faut que tu fasses une copie en binaire.
Passes tout simplement par un FileInputStream et
un FileOutputStream. Utilises un tableau d'octets et ça
ira tout seul
Ajouter un commentaire
Réponse
+0
moins plus
salut je veux soivoir s ils vous plait comment creer un fichier en java ...
merci inifiniment d avance
Ajouter un commentaire
Réponse
+0
moins plus
salut je veux soivoir s ils vous plait comment creer un fichier en java ...
merci inifiniment d avance
philtrain- 1 déc. 2004 à 17:09
import java.io.*;

...

File fichier = new File("monFichier");
try {
fichier.createNewFile();
}
catch(IOException e) {
e.printstacktrace();
}
...


Pour la classe File, voir la doc :
http://java.sun.com/j2se/1.5.0/docs/api/

a+
jeeger - 8 nov. 2007 à 23:02
Bonjour,
pour créer un fichier c simple
String s = new String (){
try{
BufferedWrite fichier = new BufferedWriter(new FileWriter("le nom du fichier.txt"));
fichier.writeLine(s,0,s.length());
fichier.close();
}
catch(IOException e){
system.out.println("Erreur fichier : " + e.toString());
}
Ajouter un commentaire
Ce document intitulé « copie de fichier en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?