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

API standards et tierces Java Discussion :

[Java DB]comment lire un fichier csv en Java


Sujet :

API standards et tierces Java

  1. #1
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut [Java DB]comment lire un fichier csv en Java
    Bonjour,

    Je cherche une fonction equivalente avec Java DB/Derby pour lire un fichier csv en memoire comme H2

    Par exemple avec H2,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    public static void readFromCsv(String fileName) throws Exception {
        Map<String, String> result = new HashMap<String, String>();
     
        ResultSet rs = Csv.getInstance().read(fileName, null, null);
        ResultSetMetaData meta = rs.getMetaData();
     
        String str;
        while(rs.next()) {
            String str1 = null;
            String str3 = null;
            for(int i = 0; i < meta.getColumnCount(); i++) {
                // Extraire la 1ere, 3eme colonnes seleument
                switch(i) {
                    case 0:
                        str1 = rs.getString(i + 1); 
                        break;
                    case 2:
                        str3 = rs.getString(i + 1);
                        break;
                }
            }
            if (str1 != null && str3 != null) {
                map.put(str1, str3);
            }  
        }
        rs.close();
    }

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    RandomAccessFile randin  = new RandomAccessFile("monFichier.csv","r");  // open input file
           try   
           {
                    String sep = ";";   // je suppose les colonnes sont séparées par ;
           	        while(true)
    		{
                	         String line = randin.readLine(); 
                             if (line == null) break;
    		           //  Maintenant je peux traiter ma ligne. 
                               StringTokenizer st = new StringTokenizer(line,sep ); 
                               int nbcol = st.countTokens();  // nombre de colonnes
                               if (nbcol < 3) continue;  // bizarre !!!! 
                               String[] tab = new String[nbcol];
                                for (int i=0; i< nbcol ; i++)
                                        tab[i] = st.nextToken();  
                               // chaque élément de tab contient  une colonne (dans l'ordre) 
                      }
    	          randin.close(); 
                    }
         catch (IOException ex) {System.out.println(ex.toString());}

  3. #3
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Merci GérardMartinelli,

    La solution presentee je l'ail avant de poster ce sujet. Je cherche une fonction ou API qui peut faire la meme chose avec celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet rs = Csv.getInstance().read(fileName, null, null);
    On donne en entree le fichier CSV et on obstient en sortie le resultat sans se preocuper le format de celui-ci

  4. #4
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Au lieu d'utiliser H2 package, on peut utiliser CSVReader dans plusieurs packages disponibles: opencsv, supercsv ...

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

Discussions similaires

  1. [OpenOffice][Tableur] Comment lire un fichier .csv volumineux
    Par Derfh dans le forum OpenOffice & LibreOffice
    Réponses: 6
    Dernier message: 16/04/2015, 11h11
  2. Réponses: 3
    Dernier message: 27/03/2014, 17h54
  3. Lire fichier CSV en java
    Par HackerNet dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 22/06/2013, 20h40
  4. comment je peux lire un fichier audio avec java.
    Par imad24 dans le forum Multimédia
    Réponses: 2
    Dernier message: 22/01/2010, 17h28
  5. comment lire un fichier excel en java
    Par kamos dans le forum Documents
    Réponses: 2
    Dernier message: 26/12/2006, 09h51

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