Listing de fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 054 fois - Téléchargée 26 fois

Contenu du snippet

j'ai fait ce code a la suite d'une demande d'un ami quand il ma demander ce que j'avais comme mp3
sur mon pc, il y en avait trop pour que je le fasse a ala main donc voila l'informatique au service des faineants^^

cette source sert lister les fichier que vous voulez avec l'extenstion que vous voulez
je pense que c'est un bon exemple de recherche recursive de fichier , elle est un eu du meme genre que ma source de suppression de dossier mais elle montre comment stocker des information et les ecrire dans un fichier

quand j'aurais le temps je mettrais des commentaires mais je pense que le code est comprehensible

++

Source / Exemple :


import java.io.*;
import java.util.*;

public class ListingMp3 extends Thread implements Runnable {

	public static Vector<File> vect = new Vector<File>();

	public ListingMp3(File Finit) {

		this.Finit = Finit;

		System.out.println("fichier initiale :" + Finit.getName());
	}

	public void run() {

		ArrayList<File> array = new ArrayList<File>();
		File[] listing = Finit.listFiles();
		for (int i = 0; i < listing.length; i++) {
			array.add(listing[i]);
		}
		for (int p = 0; p < array.size(); p++) {
			list(array.get(p));
			
		}
		WriteFile(vect);
	}

	private void WriteFile(Vector<File> toWrite) {
		try {
			new File("mp3Listing.txt").delete();
			PrintWriter out = new PrintWriter(new FileOutputStream(
					"mp3Listing.txt", true));

			for (int z = 0; z < toWrite.size(); z++)
				out.write(toWrite.elementAt(z) + "\n");
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	private void list(File file) {
		if (file.isFile()) {
			if (file.getName().endsWith(".mp3")
					|| file.getName().endsWith(".wav")) {
				System.out.println(file.getName());
				vect.add(file);
			}
		} else if (file.isDirectory()) {
			File[] listing = file.listFiles();
			for (int i = 0; i < listing.length; i++) {
				if (listing[i].isDirectory()) {
					list(listing[i]);
				} else {
					if (listing[i].getName().endsWith(".mp3")
							|| listing[i].getName().endsWith(".wav")) {
						vect.add(listing[i]);
						System.out.println(listing[i].getName());
					}
				}
			}
		}

	}

	public File Finit;
}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
dimanche 2 mars 2003
Statut
Membre
Dernière intervention
14 mai 2007

le code est simple mais c'est toujours utile de le commenter et de faire un pack complet
merci quand meme
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
12
ben heu aleatoire
Messages postés
1
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
9 juillet 2007

Salut,
je voulais savoir si le vector remet une liste trié dans un ordre quelconque (croissant ou décroissant du nom), ou bien si il recupère les noms de chaque fichier de facon désordonnée. Merci.
Messages postés
4
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
27 février 2007

Salut,

je suis tombé sur ton code par hasard alors je poste un message même si c'est pas tout récent !
pour les personnes connaissant le shell !!!

Windows (par exemple) :
cmd%> dir /B /A -D /S *.mp3 *.wav > output.txt

environ 3500 ms (presque 100 fois moins) sur un HDD de 30GO contenant 28GO de données dont 12GO de MP3 / WAV

et pas besoin du runtime Java, ;-)

p.s : je pense que le resultat serait encore plus beau et plus rapide sous une bonne debian sarge
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
12
Temps d'exÚcution : 306407 ms
nb fichier => 304061
en ayant ferme eclipse :p
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.