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 :

Données récupérées d'un fichier texte


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut Données récupérées d'un fichier texte
    Bonjour à tous

    Je dispose d’un fichier texte (data.txt) qui contient les données brutes suivantes:

    1#100 mW (20 dBi)#100 mètres#
    2#2,5 mW (4 dBi)#10 mètres#
    3#1 mW (0 dBi)#1 mètre#
    A l'aide de la formidable classe Scanner de java5, j'ai pu lire dans ce fichier et utiliser un split( le # ) pour séparer les champs.

    Voici le code:

    String filePath = "c:\\data.txt";
    Scanner scanner=new Scanner(new File(filePath)).useDelimiter("#");
    //System.out.println(scanner.delimiter());
    // On boucle sur chaque champ detecté
    int i=0;
    while (scanner.hasNext())
    {
    String champ = scanner.next();
    System.out.println(champ);

    }
    scanner.close();
    en exécutant, j'ai eu comme résultat:

    1
    100 mW (20 dBi)
    100 mètres

    2
    2,5 mW (4 dBi)
    10 mètres

    3
    1 mW (0 dBi)
    1 mètre
    J’ai crée un base de donnée simple avec une seule table : La table "Onde" avec trois attributs : Classe, Puissance et portée.

    Je n’arrive pas à organiser les données selon le type pour faire l’insertion dans la table.

    Quelqu’un à t’il une idée ?

    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Je comprends pas bien ton problème. Si après scan du fichier tu obtient une succession de triplets de valeurs, il t'es alors facile de les insérer en bdd. Il te faut éventuellement faire correspondre le type. Une classe est un entier, une puissance un float et la portée aussi.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    Oui Tommy31..justement je n’arrive pas a organiser les données obtenues après le scan.

    Mes triplets sont de type tous de type String. Je ne sais pas si je dois les affecter à un tableau

    En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    while (scanner.hasNext()) 
            {
               String champ = scanner.next();
               //System.out.println(champ);
               tab[i]=champ;
               System.out.println(tab[i]);
               i++;
     
    	 }
    Ou peut etre un vector.
    Ensuite une fois que j’ai le tableau remplie, je ne sais pas comment faire pour faire le insert dans la table

    INSERT INTO Onde (`Classe`,`Puissance `,portée) VALUES (' ')");

    Je ne sais pas quoi mettre dans values

  4. #4
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Bonjour,

    Tu trouveras des informations sur la persistence d'objets Java avec des frameworks de mapping objet/table du genre Hibernate.

    Mais pour faire plus simple, une bonne idée est de créer un objet java simple avec 3 attributs correspondant aux 3 données que tu gères (Classe, Puissance, Portée) ==> Onde.java. Ensuite, il te faut un autre objet qui s'occupe de la persistance de Onde.java en BDD. Là, le pattern DAO est fait pour ça (google ou les forums/faq ici pour plus d'infos).

    A la question, quoi mettre dans "VALUES", un petit cours de SQL devrait faire l'affaire http://www.w3schools.com/sql/sql_insert.asp

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 132
    Par défaut
    Salut,
    Pour insérer des données dans une BDD, le plus simple est d'utiliser la librairie JDBC de java.
    Voila un lien qui t'explique comment fonctionne JDBC

Discussions similaires

  1. ajout de données à partir d'un fichier texte
    Par drakenzara dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/04/2006, 12h39
  2. Réponses: 8
    Dernier message: 19/01/2006, 18h16
  3. Transposer des données sql dans un fichier texte
    Par Anakior dans le forum Outils
    Réponses: 3
    Dernier message: 11/12/2005, 10h01
  4. Réponses: 6
    Dernier message: 02/06/2005, 12h44
  5. Stockage de données & lecture d'un fichier texte
    Par petitours dans le forum C++Builder
    Réponses: 6
    Dernier message: 13/03/2004, 14h05

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