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

Langage Java Discussion :

Petit problème avec StringTokenizer


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut Petit problème avec StringTokenizer
    Voilà ma partie de code a modifier :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    	public void actionPerformed (ActionEvent e)
    	{ 
    		Object source = e.getSource() ;
    		if (source == suivant)
    		{
    			String ligne = " ";
    			BufferedReader br = null;
    			File fichier = new File("enregistrement.txt");
    			try 
    			{
    				br = new BufferedReader(new FileReader(fichier));
    				ligne = br.readLine();
    			} 
    			catch (IOException err) 
    			{
    				System.out.println("erreur : " + err );
    			}  
    			StringTokenizer st = new StringTokenizer(ligne,"/");
     
    			txtnom.setText((st.nextToken()).toString());
    			txtprenom.setText((st.nextToken()).toString());
    			txtadresse.setText((st.nextToken()).toString());
    			txtcodepostal.setText((st.nextToken()).toString());
    			txtville.setText((st.nextToken()).toString());
     
    			txtdesignation1.setText((st.nextToken()).toString());
    			txtquantite1.setText((st.nextToken()).toString());
    			txtprixunit1.setText((st.nextToken()).toString());
     
    			txtdesignation2.setText((st.nextToken()).toString());
    			txtquantite2.setText((st.nextToken()).toString());
    			txtprixunit2.setText((st.nextToken()).toString());
     
    			txtdesignation3.setText((st.nextToken()).toString());
    			txtquantite3.setText((st.nextToken()).toString());
    			txtprixunit3.setText((st.nextToken()).toString());
     
    			txtdesignation4.setText((st.nextToken()).toString());
    			txtquantite4.setText((st.nextToken()).toString());
    			txtprixunit4.setText((st.nextToken()).toString());
     
    			txtdesignation5.setText((st.nextToken()).toString());
    			txtquantite5.setText((st.nextToken()).toString());
    			txtprixunit5.setText((st.nextToken()).toString());
     
    			txtdesignation6.setText((st.nextToken()).toString());
    			txtquantite6.setText((st.nextToken()).toString());
    			txtprixunit6.setText((st.nextToken()).toString());
     
    			txtdesignation7.setText((st.nextToken()).toString());
    			txtquantite7.setText((st.nextToken()).toString());
    			txtprixunit7.setText((st.nextToken()).toString());
     
    			txtdesignation8.setText((st.nextToken()).toString());
    			txtquantite8.setText((st.nextToken()).toString());
    			txtprixunit8.setText((st.nextToken()).toString());
     
    			txtdesignation9.setText((st.nextToken()).toString());
    			txtquantite9.setText((st.nextToken()).toString());
    			txtprixunit9.setText((st.nextToken()).toString());
     
    			txtdesignation10.setText((st.nextToken()).toString());
    			txtquantite10.setText((st.nextToken()).toString());
    			txtprixunit10.setText((st.nextToken()).toString());
    		}
    		if (source == enregistrer)
    		{
    			try
    			{
    				//coordonnées client
    				String a1=txtnom.getText();
    				String a2=txtprenom.getText();
    				String a3=txtadresse.getText();
    				String a4=txtcodepostal.getText();
    				String a5=txtville.getText();
    				//designation produits
    				String b1=txtdesignation1.getText();
    				String b2=txtdesignation2.getText();
    				String b3=txtdesignation3.getText();
    				String b4=txtdesignation4.getText();
    				String b5=txtdesignation5.getText();
    				String b6=txtdesignation6.getText();
    				String b7=txtdesignation7.getText();
    				String b8=txtdesignation8.getText();
    				String b9=txtdesignation9.getText();
    				String b10=txtdesignation10.getText();
    				//quantite produits
    				String c1=txtquantite1.getText();
    				String c2=txtquantite2.getText();
    				String c3=txtquantite3.getText();
    				String c4=txtquantite4.getText();
    				String c5=txtquantite5.getText();
    				String c6=txtquantite6.getText();
    				String c7=txtquantite7.getText();
    				String c8=txtquantite8.getText();
    				String c9=txtquantite9.getText();
    				String c10=txtquantite10.getText();
    				//prix unitaire produits
    				String d1=txtprixunit1.getText();
    				String d2=txtprixunit2.getText();
    				String d3=txtprixunit3.getText();
    				String d4=txtprixunit4.getText();
    				String d5=txtprixunit5.getText();
    				String d6=txtprixunit6.getText();
    				String d7=txtprixunit7.getText();
    				String d8=txtprixunit8.getText();
    				String d9=txtprixunit9.getText();
    				String d10=txtprixunit10.getText();
     
    				FileWriter fw = new FileWriter("enregistrement.txt", true);
     
    				fw.write(a1+"/"+a2+"/"+a3+"/"+a4+"/"+a5+
    					"/"+b1+"/"+c1+"/"+d1+
    					"/"+b2+"/"+c2+"/"+d2+
    					"/"+b3+"/"+c3+"/"+d3+
    					"/"+b4+"/"+c4+"/"+d4+
    					"/"+b5+"/"+c5+"/"+d5+
    					"/"+b6+"/"+c6+"/"+d6+
    					"/"+b7+"/"+c7+"/"+d7+
    					"/"+b8+"/"+c8+"/"+d8+
    					"/"+b9+"/"+c9+"/"+d9+
    					"/"+b10+"/"+c10+"/"+d10+"\n");
     
    				fw.close();
    			}
    			catch (IOException err)
    			{
    				System.out.println("erreur : " + err );
    			}
    La variable "suivant" est un bouton. En faite j'amerai qu'a chaque foi que je clique sur le bouton "suivant" ça me fasse changer de ligne dans mon fichier "enregistrement.txt". (toutes les variables commençant par txt... sont des JTextField).
    A savoir que dans mon fichier *.txt, toutes mes données sont enregistrer sous forme : donnée1/donnée2/.../donnéeN\n.

    Pouvez vous me dire comment faire?
    J'avais pensé faire un tableau mais je n'arrive pas a le faire fonctionner.
    Merci.

  2. #2
    Invité de passage
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 1
    Par défaut
    au lieu de \n il faut mettre \r\n

  3. #3
    Membre chevronné Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Par défaut
    Premièrement il faut mieux éviter en java les \n ou les \r\n car ils dependent trop des OS et ca fait perdre a java ca portabilité. utilise System.getProperty("line.separator") pour avoir les caractere de fin de ligne.
    Deuxièmement sur ton programme en lui meme, pourquoi ne pas avoir un champ numeroLigne qui memorise la ligne que tu veux lire dans ton fichier et après faire le traitement. Je m'explique, tu initialise numeroLigne à 0, et quand tu cliques sur suivant, tu incremente numeroLigne de 1. Ensuite tu parcours ton fichier jusqu'a avoir lu la ligne numeroLigne.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut
    en fait je n'y avais pas pensé. Je vais essayer.

    Merci

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

Discussions similaires

  1. Petits problèmes avec une CListCtrl
    Par vanitom dans le forum MFC
    Réponses: 2
    Dernier message: 17/11/2005, 11h45
  2. Un petit problème avec pop
    Par Paulinho dans le forum C++
    Réponses: 4
    Dernier message: 13/11/2005, 20h57
  3. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 12h47
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10

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