Récupération d'un champ dans un fichier
Résolu/Fermé
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
-
4 févr. 2013 à 10:29
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 - 4 févr. 2013 à 16:22
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 - 4 févr. 2013 à 16:22
A voir également:
- Récupération d'un champ dans un fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Fichier iso - Guide
7 réponses
ajp55
Messages postés
426
Date d'inscription
dimanche 31 juillet 2011
Statut
Membre
Dernière intervention
17 février 2015
23
4 févr. 2013 à 10:46
4 févr. 2013 à 10:46
je comprend pas ton code, tu a plusieurs fichiers dans lequel tu veux chercher le mot VALEUR ou t'a un seul fichier. Si t'a un seul fichier, a quoi te sert le
for (File fic : lst) lst est-il un tableau ou vector de File ?
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
4 févr. 2013 à 10:48
4 févr. 2013 à 10:48
En effet, j'ai plusieurs fichiers et dans chaque fichier je veux récupérer les 34 caractères après la deuxième occurrence de la chaine VALEUR.
ajp55
Messages postés
426
Date d'inscription
dimanche 31 juillet 2011
Statut
Membre
Dernière intervention
17 février 2015
23
4 févr. 2013 à 11:28
4 févr. 2013 à 11:28
c'est quoi ça
FileUtils.write(outputPath,resultFile, champ);et la signifacation des variables?
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
4 févr. 2013 à 11:38
4 févr. 2013 à 11:38
C'est une méthode que j'utilise pour sauvegarder le champ que j'ai récupérer ça n'a rien à voir avec la lecture de mon fichier.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
Modifié par KX le 4/02/2013 à 11:53
Modifié par KX le 4/02/2013 à 11:53
Un peu d'expressions régulières peut-être ?
for (File fic : lst) { Scanner sc = new Scanner(fic); sc.findWithinHorizon("VALEUR",0); String s = sc.findWithinHorizon("VALEUR[\\x00-\\xffff]{34}",0); sc.close(); System.out.println(s==null ? null : s.substring(6)); }La confiance n'exclut pas le contrôle
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
4 févr. 2013 à 11:42
4 févr. 2013 à 11:42
Merci mais ton code me retourne null à chaque fois.
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
4 févr. 2013 à 11:47
4 févr. 2013 à 11:47
Donc, c'est que tu n'as jamais deux champs VALEUR avec 34 caractères après le deuxième VALEUR...
Voici, un fichier que j'ai testé, ça fonctionne bien :
Résultat renvoyé :
Voici, un fichier que j'ai testé, ça fonctionne bien :
abcdefghijkl
mnopVALEURqrstuvw
xyzVALEUR1234567890123456789012345678901234567890
Résultat renvoyé :
1234567890123456789012345678901234
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
Modifié par KX le 4/02/2013 à 12:00
Modifié par KX le 4/02/2013 à 12:00
Remarque : je viens de modifier \p{ASCII} en [\x00-\xffff] pour supporter tout l'UTF-16 de Java.
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
4 févr. 2013 à 12:02
4 févr. 2013 à 12:02
tous mes fichiers contiennent 2 fois le champs VALEUR et ce dernier est suivi de 34 caractères, le problème vient surement du fait que les fichiers ont un format propriétaire et du coup lorsque je l'ouvre avec notepadd++ je me retrouve avec des caractères NUL surligné en gras.
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
4 févr. 2013 à 12:06
4 févr. 2013 à 12:06
Je ne connais pas notepad++ je ne saurais pas dire à quoi correspond les "caractères NUL surligné en gras", essayes de lire ton fichier avec le bloc-notes Windows pour voir...
Mais c'est peut-être des caractères Unicode, donc essaye mon code avec la modification que j'ai faite sur l'UTF-16.
Mais c'est peut-être des caractères Unicode, donc essaye mon code avec la modification que j'ai faite sur l'UTF-16.
ajp55
Messages postés
426
Date d'inscription
dimanche 31 juillet 2011
Statut
Membre
Dernière intervention
17 février 2015
23
4 févr. 2013 à 11:47
4 févr. 2013 à 11:47
aulieu d'utiliser ton FileUtils, déclare une ouputfile avant d'entrer dans ta boucle de for
et a chaque lecture fait un print dans le outputfile
PrintWriter outputfile = new PrintWriter(new FileWriter(filename));
et a chaque lecture fait un print dans le outputfile
outputfile.print(champ);, dc à la place de FileUtils, use ouputfile.print.....
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
4 févr. 2013 à 12:03
4 févr. 2013 à 12:03
merci pour l'info mais ceci n'est pas le coeur de mon problème
remousse
Messages postés
299
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
20 novembre 2014
6
4 févr. 2013 à 14:49
4 févr. 2013 à 14:49
Je suis passé par une autre méthode merci de votre aide.
ajp55
Messages postés
426
Date d'inscription
dimanche 31 juillet 2011
Statut
Membre
Dernière intervention
17 février 2015
23
4 févr. 2013 à 16:22
4 févr. 2013 à 16:22
Merci de poster la solution pour aider les prochains venus qui auront le meme problem