IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

comment remettre le "cursor" a 0


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 35
    Points
    35
    Par défaut comment remettre le "cursor" a 0
    Bonjour everybody,
    voila je travaille sur un fichier avec le langage java,en faite je fais des traitements avec plusieurs expressions régulieres.donc pour cela il a fallu faire une boucle,et lire le fichier ligne par ligne. le probleme cest que une fois le traitement fini pour la 1ERE expression réguliere la chaine ou je stocke mes lignes pointent sur null.donc je me demandais comment la remettre au début du fichier.sachant ke je ne veux pas utiliser la solution barbare d'ouvrir le fichier a chaque début de boucle
    merci d'avance pour vos réponses

  2. #2
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Points : 402
    Points
    402
    Par défaut
    Ca m'a l'air d'être à la ligne 24, essaye "cursor=1"


    ...

    ...

    Bon plus sérieusement, sans voir ton code cela va être dur de t'aider...
    car :

    - on ne sait pas si tu as mis ton fichier ou si tu lis ligne après ligne
    - on ne sait pas comment tu procède pour tes REGEXP, donc on autant il serait plus interessant de vérifier toutes les REGEXP a chaque ligne et pas de passer tout ton text sur une REGEXP, puis sur une autre...

    donc montre nous ce que tu as fais en utilisant les balises "code" pour que ce soit joli
    C'est en aidant les autres qu'on en apprend beaucoup soi-même

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Tu dois probablement utiliser un FileInputStream (directement ou non) pour lire ton fichier. Une des caractéristiques des flux est qu'il n'est pas possible de revenir en arrière.

    Pour pouvoir le faire avec un fichier (sans tout stocker en mémoire), tu peux utiliser un RandomAccessFile.
    Tu y vas à coup de readLine() pour lire puis de seek(0) pour revenir au début.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si la chaine est devenue nulle, c'est que tu la mise à null. Au delà de ça, on saura rien faire sans ton code.

    @Deaf readLine() c'est sur le BufferedReader, quie se base sur un Reader et non pas sur RandomAccessFile!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Points : 402
    Points
    402
    Par défaut
    Si Deaf a bien raison la méthode RandomAccessFile.readLine() existe
    http://download-llnw.oracle.com/java...readLine%28%29

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    effectivement, j'ai jsute tendance à l'éviter comme la peste celle là

    Each byte is converted into a character by taking the byte's value for the lower eight bits of the character and setting the high eight bits of the character to zero. This method does not, therefore, support the full Unicode character set.
    En gros a part les texte en anglais, faut pas trop compter dessus ^^

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 338
    Points : 402
    Points
    402
    Par défaut
    Oui elle correcte si on utilise iso-8859-1 si UTF8 on a la méthode readUTF().

  8. #8
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Ne connaissant pas les méthodes par coeur, j'ai toujours la javadoc à portée de main, et effectivement, je l'ai vue donc reprise sans trop de question (vu que c'était pas le fond du sujet...)

    Il est vrai que j'avais un peu mis de côté l'encodage qui doit être bien géré par le readline

  9. #9
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Citation Envoyé par hibour Voir le message
    Oui elle correcte si on utilise iso-8859-1 si UTF8 on a la méthode readUTF().
    On peut s'en sortir, mais ce qui est dommage, c'est que du coup, on gère l'encodage au lieu de filer l'info au reader une fois pour toute...

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu reste quand même coincé en plus, les autres encodages, tu laisse tomber. Et readUTF sert à lire des string encodé dans l'encodage UTF-8 modifié, c'est a dire précédé d'un préfixe de longueur.

    Ceci dit on va pas tergiverser, vaut mieux attendre le code qui pose problème

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo