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

Collection et Stream Java Discussion :

Lire un fichier


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut Lire un fichier
    salut
    je veux bien lire le fichier a partir de deuxième ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    FileInputStream idps=new FileInputStream(fichier); 
    InputStreamReader ipsr=new InputStreamReader(idps);
    BufferedReader br=new BufferedReader(ipsr);
    String ligne;
    for (int noLigne = 2;(ligne = br.readLine()) != null;noLigne++) {
    String code=ligne.substring(11,31);
    }
    merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 592
    Par défaut
    Lis le fichier à partir de la première ligne, et fais un cas particulier sur cette première ligne, consistant à l'oublier sans rien en faire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Lis le fichier à partir de la première ligne, et fais un cas particulier sur cette première ligne, consistant à l'oublier sans rien en faire.
    je n'arrive pas à te comprendre

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 592
    Par défaut
    Tu ne peux pas lire un fichier à partir de la deuxième ligne.
    Mais ce n'est pas grave. Rien ne t'oblige à faire quelque chose avec la première ligne.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    mais comment faire je veux lire à partir deuxième ligne

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 592
    Par défaut
    Citation Envoyé par minooo Voir le message
    mais comment faire je veux lire à partir deuxième ligne
    Je viens de te dire que tu ne peux pas.
    Mais ce n'est pas grave, rien ne t'oblige à faire quelque chose avec la première ligne.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    En gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String ligne = br.readLine(); // On saute la mpremière ligne
     
    while((ligne = br.readLine()) != null) {
         // Traitement à partir de la deuxième ligne
    }
    Ou alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String ligne;
    int nbLigne = 0;
    while((ligne = br.readLine()) != null) {
         nbLigne++;
         if(nbLigne > 1) {
             // Traitement à partir de la deuxième ligne
         } else {
             // La première ligne on la saute, pas besoin du bloc else
         }
    }

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    bonjour
    est ce que il y a moyen de sélectionner la dernière ligne

  9. #9
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par minooo Voir le message
    bonjour
    est ce que il y a moyen de sélectionner la dernière ligne
    Quand tu sortiras de la boucle, tu disposeras de la dernière ligne.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 592
    Par défaut
    À la rigueur, si tu connais sa taille en octets, il est possible d'y aller directement. Mais je suppose que tu ne connais pas sa taille en octets.

    Si le fichier est en ASCII ou un encodage simple, il est possible de le lire à partir de la fin, et de remonter jusqu'à une fin de ligne. Entre cette fin de ligne et la fin du fichier, il y a la dernière ligne. Lire un fichier en sens inverse peut se faire avec un RandomAccessFile et beaucoup d'emmerdements.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par thelvin Voir le message
    et beaucoup d'emmerdements.
    Surtout si c'est un encodage de taille variable comme l'utf-8

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 592
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Surtout si c'est un encodage de taille variable comme l'utf-8
    Pour le coup, non. Le principe d'utf-8 simplifie beaucoup les choses : \n fait toujours un octet ( 0x0A ) et cet octet ne peut pas être autre chose que \n. De même, \r\n fait toujours deux octets ( 0x0D0A ) et ces octets ne peuvent pas être autre chose que \r\n.
    Si on parle d'utf-16 c'est déjà plus embêtant : 'faut savoir regarder qu'un octet sur deux (et lequel.) Et si on parle de trucs comme Shift-JIS c'est mort. Il faut commencer du début.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    utf 16 est plus facile, la paire d'octet commence toujours à ... un index pair

    Par contre il est vrai, j'avais oublié que utf8 avait été concu pour éviter ce genre d'ambiguité

Discussions similaires

  1. [Servlet][EJB]lire un fichier à partir de mon bean
    Par kimausoleil dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/02/2004, 14h26
  2. [MFC] lire un fichier en int
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 09h32
  3. Réponses: 5
    Dernier message: 11/01/2004, 20h17
  4. Lire un fichier de 50 gb
    Par Maryves dans le forum MFC
    Réponses: 2
    Dernier message: 08/01/2004, 14h08
  5. Lire le fichier du port série
    Par saibe dans le forum Linux
    Réponses: 7
    Dernier message: 09/04/2003, 09h29

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