Remplacer un mot dans tous les fichiers d un rep

darktonight Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 23 juillet 2004 - 10 avril 2003 à 15:11
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 11 avril 2003 à 14:17
Bonjour j'ai une centaine de fichiers dans un repertoire, chacun contient un terme à remplacer par un autre terme (par exemple c:\ doit devenir d:\ dans tous les fichiers).
Pouvez vous me donner conseil, merci.

4 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
10 avril 2003 à 18:27
pourquoi pas simplement utiliser remplacer par dasn un éditeur texte lol

nan sasn joke, la façon la plus simple est de bouclé chaque ligne en recherchant la chaine exacte grâce à

String a;
String rechercher = "C:";
for (i = 0; i < a.lenght - rechercher.lenght; ++ a){
if (a.substring(1,rechercher.lenght).equal(rechercher) == 0){
"remplacher le a par rechercher"
}
}

il peut y avoir des erreur, je l'ai codé directement ici
0
darktonight Messages postés 51 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 23 juillet 2004 1
10 avril 2003 à 23:19
Merci, mais en réalité mon problème est plutot comment lancer des procédures sur tous les fichiers de mon répertoires,
il y en a beaucoup et je ne voudrais pas taper chaque nom de mes fichiers mais juste le nom de mon répértoire et automatiser la tache à tous les fichiers de ce même repertoire, ...j'espere avoir était clair, :-)

Merci pour toute aide que vous pourrez m'apporter.
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
11 avril 2003 à 09:15
salut,
avec la classe File et la méthode listFiles(), tu peux recupérer un tableau de File représentant tous les fichiers d un répertoire ;)
File rep = new File("c:/temp");
File[] tab = rep.listFiles();
FileInputSream in = null;
for (int i = 0 ; i < tab.length  ;i++)
{
in = new FileInputStream(tab[i]);
byte[] read = new byte[in.available()];
in.read(read);
String text = new String(read);
text.replaceAll("c:/","d:/");
}

et voila
Duss
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
11 avril 2003 à 14:17
bon ok, c,est plus simple duss lol. faut dire que sans compilateur pour tester, je me souvenais plus de la commande replace lol. mais tu as raison, sauf d'un autre côté, le code de replace est ce que j'ai donné comme code lol
0
Rejoignez-nous