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 :

probleme de'integriter de chaine lue ds un fichier texte


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 9
    Points
    9
    Par défaut probleme de'integriter de chaine lue ds un fichier texte
    Bonjour
    j'ai un probleme concernant la lecture d'une ligne dans un fichier. j'essaye de de lire de longue ligne dans un fichier texte que je vais ensuite decouper.
    le probleme c'est que je ne recçoit pas la totalité de la ligne.

    voici le ligne qui pose probleme
    N¤¤¤¤¤¤¤N¤¤N02AA01¤B¤STUP¤Jr¤Jr¤Jr¤¤Jr¤1999-10-20 14:17:44.0¤0000001¤¤0¤2001-02-09 00:00:00.0¤N¤¤¤1¤O¤¤¤¤¤¤N¤SOLUT¤O¤N¤¤¤¤¤¤¤¤H¤MORPHINE 1 MG/1 ML SOLUTE BUVABLE¤H¤2004-11-17 16:34:53.0¤¤¤¤¤1¤¤¤¤¤¤
    ¤¤¤¤¤¤¤¤MORPHINE SOLUTE BUVABLE¤100¤¤¤¤¤¤¤¤¤0¤N¤N¤C¤MG¤P¤C¤¤¤¤¤ML¤¤¤¤P¤ML¤ML¤ML¤ML¤||0|

    Et voici le code
    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
     
    lecteurAvecBuffer = new BufferedReader(new FileReader(addrFichier));
    		    	//on effectue la requette pour chaqe tuple
    		    	Connection_sqlserver conssi=new Connection_sqlserver();
    		    	while ((ligne = lecteurAvecBuffer.readLine()) != null){
    		    		//il nous faut gérer l'existance d'apostrophe dans les données
    		    		if(ligne.contains("'")){
    		    			ligne=ligne.replace("'", " ");
    		    		}
    		    		//le codage des chaines de caractères necessitent des cotes 
    			    	for(int j=0;j<ColoneTable.length-1;j++){
    			    		if(ColoneTable.length!=ligne.split("¤").length){
    			    			System.err.println("probleme de taille de chaine"+j+" "+ColoneTable.length+" "+ligne.split("¤").length);
    			    		}
    			    		StringTokenizer st=new StringTokenizer(ligne,"¤");
    			    		String l[]=new String[st.countTokens()];
    			    		int k=0;
    						while(st.hasMoreTokens()){
    							l[k]=st.nextToken();
    							k++;
    						}
    			    		if(ColoneTable[j][1].contains("VARCHAR")){
    			    			insert=insert+"'"+l[j]+"' ,";
    			    		}else{
    			    			System.out.println(ligne);
    			    			//il faut gérer les chaines vides
    			    			if(!l[j].equals("")){
    			    				insert=insert+l[j]+", ";
    			    			}else{
    			    				insert=insert+"null"+", ";
    			    			}
    			    		}
    			    	}
    j'oubliait seriez vous donc pourquoi le resultat c'est le suivant:
    N¤¤¤¤¤¤¤N¤¤N02AA01¤B¤STUP¤Jr¤Jr¤Jr¤¤Jr¤1999-10-20 14:17:44.0¤0000001¤¤0¤2001-02-09 00:00:00.0¤N¤¤¤1¤O¤¤¤¤¤¤N¤SOLUT¤O¤N¤¤¤¤¤¤¤¤H¤MORPHINE 1 MG/1 ML SOLUTE BUVABLE¤H¤2004-11-17 16:34:53.0¤¤¤¤¤1¤¤¤¤¤¤

  2. #2
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2006
    Messages : 38
    Points : 46
    Points
    46
    Par défaut
    Un BufferedReader à une taille maximale. Ici tu utilise la taille par défaut qui n'est apparament pas suffisante dans ton cas mais tu peut en spécifier une plus grande en utilisant le constructeur BufferedReader(Reader in, int sz)sz est la taille du buffer.

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 9
    Points
    9
    Par défaut
    J'ai effectivement essayé de rajouter un taille (100*1024) et toujours le meme problème

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 9
    Points
    9
    Par défaut
    Alors a priori ça viendrai de ma ligne car quand j'ouvre mon fichier avec xemacs il me met un saut de ligne la ou le probleme survient
    a votre avis comment puis je specifier le caractere de fin de ligne ou comment supprimer cet element indesirable dans mon fichier
    et pourkoi notepad lui n'affiche pas ce saut de ligne

Discussions similaires

  1. Assigner a une variable une valeur lue dans un fichier texte
    Par mapotam dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 22/12/2009, 14h46
  2. Attribution des valeurs lues dans un fichier texte
    Par law56100 dans le forum WinDev
    Réponses: 1
    Dernier message: 29/05/2008, 16h07
  3. Comment trouver une chaine de caractère dans fichier texte
    Par youssef1989 dans le forum Débuter
    Réponses: 3
    Dernier message: 01/05/2008, 16h45
  4. Probleme affichage dans entry a partir d'un fichier texte
    Par HaaRt dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 06/04/2007, 12h01
  5. [langage] longueur d'une chaine lue ds un fichier
    Par perlaud dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2004, 22h36

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