cs_biboobib
Messages postés95Date d'inscriptiondimanche 29 juillet 2007StatutMembreDernière intervention27 août 2011
-
23 avril 2008 à 00:47
Utilisateur anonyme -
26 avril 2008 à 01:55
Slt tt le Monde.. mon probléme consiste a réaliser un code pour copier un fichier selectionner dans un JFileChooser dans le répertoire par exemple : c:\FTHB
j'ai réaliser tt ca et le copiage fonctionne sauf que le fichier est copier dans le repertoir de mon projet!! je sai pas comment faire pour passer en argument le chemin ou bien le répertoire où le copiage doit etre réaliser!!
cs_biboobib
Messages postés95Date d'inscriptiondimanche 29 juillet 2007StatutMembreDernière intervention27 août 20111 25 avril 2008 à 16:12
slt , Voilà ma class Copy.java , ca fonctionne comme j t'ai dis avant mais je dois indiqué le répertoire cible.. et j'ai pas réussi!!
import java.io.File;
public class Copy {
// Dans le contructeur on va utiliser notre methode copy
// et donc on vas faire quelques ptit test
String src,dest;
File DEST,SRC;
public Copy (String src, String dest){
this.src=src;
this.dest=dest;
this.SRC = new File (src);
this.DEST = new File (dest);
// ben si le rep dest n'existe pas, et notre source est un repertoire
if (!DEST.exists()){
if (SRC.isDirectory()){
// Alors on cree un rep destination
DEST.mkdir();
}
}
// Mais si jammais c'est un fichier, on fait un simple copie
if (SRC.isFile()){
copy(SRC, DEST);
// et si notre source est un repertoire qu'on doit copié!!!
}else if (SRC.isDirectory()){
// on parcour tout les elements de ce catalogue,
File f=new File("biboo");
// et hop on fait un appel recursif a cette classe en mettant a jour les path de src et dest: et le tour est joué
new Copy(f.getAbsolutePath(),DEST.getAbsoluteFile()+"/"+f.getName());
}
}
/** copie le fichier source dans le fichier resultat
* retourne vrai si cela réussit
*/
private boolean copy( File source, File destination )
{
boolean resultat = false;
//Déclaration des stream d'entree sortie
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;
Passe un chemin absolu quand tu utilises le constructeur de la classe File soit sous forme de chaîne de caractère, soit sous forme d'URI, va voir la documentation Java, la réponse se trouve là-dedans. Il me semble que tu dois faire une mauvaise manipulation à la sortie du JFileChooser et que du coup, ton chemin est interprété comme chemin relatif à ton projet.