Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/03/2007, à 00:34

Premium

[Java]Mots ayant le même début

Bonjour,

j'ai un répertoire TEST qui contient des fichiers commençant tous par titi :
titi1, titi2, titi3, ...
J'insère "à la main" tous les noms de fichiers dans une liste :
List<String> list = new ArrayList<String>();
list.add(titi1);
list.add(titi2);
etc ...

Je voudrais crée un programme qui prenne en parametre le debut d'un mot (titi dans l'exemple) et qui insere dans une liste tous les fichiers commençant par ce mot pour éviter à insérer les noms "à la main"

Comment faire ?

Merci

Dernière modification par Premium (Le 28/03/2007, à 00:35)

Hors ligne

#2 Le 28/03/2007, à 00:45

best_friend_fr

Re : [Java]Mots ayant le même début

Salut

Tu as essayé

void prog(String s)
  for(int i=0;i<10;i++) {
    list/add(s+i);
  }
}


sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr

Hors ligne

#3 Le 31/03/2007, à 13:52

Nicolas2b

Re : [Java]Mots ayant le même début

Salut,

Voila un petit programme que j'ai codé vite fait pour résoudre ton problème :

import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;

public class Test
{
	public static void Test( String s )
	{
		final String debut = s;
		File rep = new File( "./" );
		File[] tf = rep.listFiles( new FilenameFilter() {

			@Override
			public boolean accept(File r, String n)
			{
				return n.startsWith( debut );
			}
		});

		ArrayList<String> ln = new ArrayList<String>();
		for ( File f : tf )
			ln.add( f.getName() );

	}

}

Explication du code :
    - on crée une variable File qui est le répertoire où tu veux chercher tes fichiers : tu peux changer le paramètre ( ici c'est "./" donc le répertoire courant )
    - ensuite, on récupere la liste des fichiers en ne gardant que ceux qui commencent par la chaine que tu veux.
    - puis on transforme le tableau de File en ArrayList<String>


Si tu d'autre question n'hésite pas smile

Nicolas.

Dernière modification par Nicolas2b (Le 31/03/2007, à 13:53)


Ubuntu Gutsy sur ASUS A6JA Q016H
2 Go de RAM
ATI X1600
Core Duo 1,8 GHz

Hors ligne

#4 Le 31/03/2007, à 18:36

violine

Re : [Java]Mots ayant le même début

Premium,
étant donné que tu es quand même en master d'informatique première année et que tu suis des enseignements de Java, Java avancé, ... depuis presque 2 ans, ne devrais-tu pas chercher les réponses à des problèmes aussi triviaux par toi-même ? plutôt que d'aller polluer les forums avec tes sujets de projet et des questions sans intérêt ?

Il y a des gens qui prennent la peine de perdre du temps à lire tes posts, à y réfléchir et à y répondre alors qu'en tant qu'étudiant en informatique, c'est ton "travail" de trouver des réponses à tes questions. Surtout que la solution généreusement apportée par Nicolas2b - l'utilisation d'un FilenameFilter - a été abordée dans l'un des cours de Mr F.

Les forums sont fait pour s'entraider, pas pour aller glaner les informations sans rien payer ... Car contrairement au clients et serveurs peer to peer, qui n'en n'ont rien à secouer de passer leur temps à distribuer de l'information (normal, ce sont des programmes), les gens qui répondent sur les forums ont une vie ...

A méditer

Dernière modification par violine (Le 31/03/2007, à 19:02)

Hors ligne

#5 Le 31/03/2007, à 23:09

Nicolas2b

Re : [Java]Mots ayant le même début

violine a écrit :

Premium,
étant donné que tu es quand même en master d'informatique première année et que tu suis des enseignements de Java, Java avancé, ... depuis presque 2 ans, ne devrais-tu pas chercher les réponses à des problèmes aussi triviaux par toi-même ? plutôt que d'aller polluer les forums avec tes sujets de projet et des questions sans intérêt ?

Il y a des gens qui prennent la peine de perdre du temps à lire tes posts, à y réfléchir et à y répondre alors qu'en tant qu'étudiant en informatique, c'est ton "travail" de trouver des réponses à tes questions. Surtout que la solution généreusement apportée par Nicolas2b - l'utilisation d'un FilenameFilter - a été abordée dans l'un des cours de Mr F.

Les forums sont fait pour s'entraider, pas pour aller glaner les informations sans rien payer ... Car contrairement au clients et serveurs peer to peer, qui n'en n'ont rien à secouer de passer leur temps à distribuer de l'information (normal, ce sont des programmes), les gens qui répondent sur les forums ont une vie ...

A méditer

C'est pas bien grave, je suis aussi étudiant en info, et ça m'arrive de demander des solutions également

@Premium, le probleme etant résolu, merci de mettre [RESOLU] dans le titre big_smile


Ubuntu Gutsy sur ASUS A6JA Q016H
2 Go de RAM
ATI X1600
Core Duo 1,8 GHz

Hors ligne