Copie de fichier en java

Fermé
xander - 5 déc. 2003 à 23:32
 Youssef - 19 juil. 2012 à 17:08
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
A voir également:

4 réponses

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 );
}
10
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
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
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.
0
C'est OKK merci bien
0
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
2
salut je veux soivoir s ils vous plait comment creer un fichier en java ...
merci inifiniment d avance
1
Utilisateur anonyme
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+
0
jeeger > Utilisateur anonyme
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());
}
0
salut je veux soivoir s ils vous plait comment creer un fichier en java ...
merci inifiniment d avance
0