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

Entrée/Sortie Java Discussion :

Intégrer un fichier CSV dans mon programme


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Intégrer un fichier CSV dans mon programme
    Bonjour,

    Je développe actuellement un programme qui permet de récupérer des id_Os (10,11,12) sur plusieurs serveurs.


    Je dispose d'un fichier CSV qui comprend une table de correspondance ;

    Windows;Xp;10
    Linux;5.2,11
    Aix;7.2,12


    je souhaite pouvoir charger mon fichier CSV dans mon programme et comparer l' id_OS avec la 3ème colonne de la table de correspondance.

    Comment faire pour parcourir le fichier csv?

    Merci d'avance.
    Florian

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 75
    Points : 138
    Points
    138
    Par défaut
    Bonjour,

    Je pas que l'on peut parse directement un csv en Java.
    Par contre tu peu lire le fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BufferedReader br = new BufferedReader(new FileReader("test.csv"));
    Puis utiliser la fonction split pour separer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while ((ligne = br.readLine()) != null)
    {
          String[] data = ligne.split(";");
    }
    Tu aura ligne par ligne un tableau de String.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    Pour lire ton fichier CSV, tu peux aussi utiliser la classe "Scanner".
    Elle te permettra de lire ligne à ligne avec le point virgule comme séparateur.

    Mathieu

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 14
    Points
    14
    Par défaut split ou scanner
    Bonjour à tous,
    Merci de vos réponses.

    Je dois faire une boucle qui parcours ligne par ligne mon fichier et spliter chaque ligne avec comme séparateur le ";" ?

    mais une fois que j'aurais effectuer mon split, comment je peux comparer comparer l' id_OS avec la 3ème colonne ?


    je peux avoir un exemple si possible?

    Cordialement,
    Merci

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Bonjour,

    Personnellement, j'utiliserais pas un Scanner, justement parce qu'il ne fera pas la différence entre les trois colonnes, et donc il faudrait alors la faire nous-même.

    Avec lecture ligne par ligne et split, ce sera plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    String idOs = "11";
    File file = new File("c:/truc/moncsv.csv");
     
    try(BufferedReader reader = new BufferedReader(new FileReader(file))) {
     
      for(String line = reader.readLine(); line != null; line = reader.readLine()) {
        String[] fields = line.split(";");
        if(fields[2].equals(idOs)) {
          System.out.println("Trouvé ! C'est " + line);
        }
      }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Merci bien !
    Cool c'est bien ça, merci beaucoup j'ai mis le code a ma sauce et ça fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir un fichier csv dans Open Office par un programme VB6
    Par vincentc17 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/04/2015, 13h26
  2. Intégrer mon fichier .properties dans mon product
    Par Leniouns dans le forum Eclipse Platform
    Réponses: 63
    Dernier message: 04/02/2014, 15h49
  3. Mise à jour fichier de config dans mon programme
    Par peemoney dans le forum Général Java
    Réponses: 5
    Dernier message: 01/10/2012, 15h51
  4. Intégrer du java dans mon programme Delphi
    Par Bruno13 dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2008, 15h22
  5. Réponses: 7
    Dernier message: 20/03/2007, 18h01

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