-
Archivage avec java
salut tt le monde
je suis entrain de developper un archiveur avec java c'est juste de copier des fichiers et des dossiers d'un emplacement vers un autre mais je ne reussi pas à deplacer une arborescence svp aider moi
j'essai à appliquer recursivité mais je ne reussi
-
Bonsoir,
Le message n'est pas fini (qu'est-ce que tu n'arrive pas à faire ?). Un extrait de ce code serait sympa pour aller plus vite à t'aider.
Pour l'archivage, si c'est un programme externe de copie de fichier que tu réalises (sauf si c'est pour des raisons externes ou plaisir de developper), "Apache Ant" peut être ton ami.
-
salut
concernant mon probleme c'est comment copier une arborescence en totale
fonction de deplacement des fichiers:
void copyFile( File source, File destination )
{
//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 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);
}
fonction de deplacement de repertoire :
void copyDirectory(final File source, final File destination) throws IOException {
if (! destination.exists()) {
destination.mkdir();
}
final File[] inDir = source.listFiles();
for (int i = 0; i < inDir.length; i++) {
final File file = inDir[i];
copy(file, new File(destination, file.getName()));
}
}
-
Bonjour,
Je pense que les méthodes que tu utilise sont très bien (j'ai pas lu, sas balise code c'est pas agréable)
Il ne reste plus qu'à coder une méthode qui parcours une arborescence (surement avec un système récursif) et qui copie chaque dossier et fichier.
-
je ne reussi pas à l'implementer svp aider moi par un algorithme parce que moi et la recursivité ça fait deux
-
-
bonjour
merci tout d'abord por votre aide
je change le code de la fct copyDirectory j'applique la recursivité et ça marche merci voila le noveau code:
public void copyDirectory(final File src, final File dest) throws IOException {
if (! dest.exists()) {
dest.mkdir();
}
final File[] inDir = src.listFiles();
for (int i = 0; i < inDir.length; i++) {
final File file = inDir[i];
if(file.isDirectory()){
copyDirectory(file, new File(dest, file.getName()));}
else if (file.isFile()){
copyFile(file, new File(dest, file.getName()));}}
}
je veux une description svp du travail d'archiveur est ce que c'est que juste de deplacer les fichiers ?ou quoi ? aider moi
merci d'avance