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

Collection et Stream Java Discussion :

Creer un tableau [Strings] apres tonkenizer


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Pérou

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut Creer un tableau [Strings] apres tonkenizer
    Bonjour,

    Actuellement je suis en train de créer un parseur pour les requêtes SQL. J'arrive à parser caque élément d'une requête grâce à tonkenizer.
    je voudrais affecter les valeurs de sortie a un tableau.

    mon code est:


    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
    import java.io.*;
    import java.util.StringTokenizer;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class Validator {
     
    	public static void main(String[] args){
     
    	String fichier ="INSERT.tqsq";
    	String ligne = new String();
    	String text = new String();
    	String token = "";
    	String Query ="";
    	String QuerySpace ="";
    	String QueryLigne ="";
    	String QueryDataIn ="";
    	String QueryDataOut ="";
    	String QueryDataEnd ="";
    	String QueryType ="";
    	String Instruction ="";
    	int Longueur = 0;
     
     
    	try{
    		InputStream ips=new FileInputStream(fichier); 
    		InputStreamReader ipsr=new InputStreamReader(ips);
    		BufferedReader br=new BufferedReader(ipsr);
     
    		while ((ligne=br.readLine())!=null){
    			text = ligne;
    		}
    		br.close(); 
    	}		
    	catch (Exception e){
    		System.out.println(e.toString());
    	}		
     
    	text=text.toUpperCase();
     
    	String ModeParser=text;
    	Pattern phrase1=Pattern.compile("MODE=\"(.*)\" NUMBER");
    	Matcher mot1=phrase1.matcher(ModeParser);
    	while(mot1.find()){
    	QueryType = mot1.group(1);
    	}	
    	//System.out.println(QueryType);
     
    	String aParser=text;
    	Pattern phrase2=Pattern.compile("QUERY=\"(.*)\" QUERYPARAM");
    	Matcher mot2=phrase2.matcher(aParser);
    	while(mot2.find()){
    	Query = mot2.group(1);
    	}
     
     
    	QuerySpace=Query.replace("
    "," ");
    	QueryLigne=QuerySpace.replace("	"," ");
    	QueryDataIn=QueryLigne.replace("'["," ");
    	QueryDataOut=QueryDataIn.replace("]'"," ");
    	QueryDataEnd=QueryDataOut.replace(","," ,");
    	Longueur = QueryDataEnd.length();
    	//System.out.println(QueryDataEnd);
    	//System.out.println(Longueur);
     
    	StringTokenizer st = new StringTokenizer(QueryDataEnd);
     
    	while (st.hasMoreTokens()) {
    		token = st.nextToken();
     
    		System.out.println(token );
    Le résultat est:

    INSERT
    INTO
    TRAINING_USER
    (TRAINING_USER.SITE_ID
    ,
    TRAINING_USER.SITE_NAME
    )
    VALUES
    (
    PARAM.1
    ,
    PARAM.2
    )
    pourriez vous me dire comment puisse je creer un tableau avec les valeur de sortie?

    Merci

    Cordialement.

    Javier

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Pérou

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2011
    Messages : 12
    Par défaut
    Bon j'ai arrive a trouver la solution.

    Je laisse le code pour info.

    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
    import java.io.*;
    import java.util.StringTokenizer;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class NomageRigthsValidator {
     
    	public static void main(String[] args){
     
    	String fichier ="INSERT.tqsq";
    	String ligne = new String();
    	String text = new String();
     
    	String token = "";
    	String Query ="";
    	String QuerySpace ="";
    	String QueryLigne ="";
    	String QueryDataIn ="";
    	String QueryDataOut ="";
    	String QueryDataEnd ="";
    	String QueryDataMod ="";
    	String QueryType ="";
    	String Instruction ="";
     
    	String TableQuery[];
    	int Longueur = 0;
    	int Quantite = 0;
    	int i = 0;
     
    	try{
    		InputStream ips=new FileInputStream(fichier); 
    		InputStreamReader ipsr=new InputStreamReader(ips);
    		BufferedReader br=new BufferedReader(ipsr);
     
    		while ((ligne=br.readLine())!=null){
    			text = ligne;
    			}
     
    		br.close(); 
    		}		
    	catch (Exception e){
    		System.out.println(e.toString());
    		}		
    	System.out.println(text);
    	text=text.toUpperCase();
    	String ModeParser=text;
    	Pattern phrase1=Pattern.compile("MODE=\"(.*)\" NUMBER");
    	Matcher mot1=phrase1.matcher(ModeParser);
     
    	while(mot1.find()){
    		QueryType = mot1.group(1);
    		}	
     
     
    	String aParser=text;
    	Pattern phrase2=Pattern.compile("QUERY=\"(.*)\" QUERYPARAM");
    	Matcher mot2=phrase2.matcher(aParser);
     
    	while(mot2.find()){
    	Query = mot2.group(1);
    		}	
     
     
    	QuerySpace=Query.replace("
    "," ");
    	QueryLigne=QuerySpace.replace("	"," ");
    	QueryDataIn=QueryLigne.replace("'["," ");
    	QueryDataOut=QueryDataIn.replace("]'"," ");
    	QueryDataMod=QueryDataOut.replace(","," ,");
    	QueryDataEnd=QueryDataMod.replace("(","( ");
     
     
     
    	StringTokenizer st = new StringTokenizer(QueryDataEnd);
    	Quantite =st.countTokens();
     
     
    	TableQuery = new String [Quantite];
     
    	while (st.hasMoreTokens()) {
    		TableQuery[i] = st.nextToken();
    		i=i+1;
    		}
     
     
    	for (int j=0; j<Quantite; j++){
    		Instruction=TableQuery[j];
    		}
     
    	if (TableQuery[0].contains("SELECT")){
    		Instruction="SELECT";
    		}
    	if (TableQuery[0].contains("UPDATE")){
    		Instruction="UPDATE";
    		}
    	if (TableQuery[0].contains("INSERT")){
    		Instruction="INSERT";
    		}
    	if (TableQuery[0].contains("DELETE")){
    		Instruction="DELETE";
    		}			
    	}
    }
    Cordialement.

    Javier

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

Discussions similaires

  1. creer un tableau de String
    Par abbd dans le forum Visual C++
    Réponses: 7
    Dernier message: 09/03/2007, 15h26
  2. [web] cgi dbi MySQL : créer un tableau ?
    Par toctof dans le forum Web
    Réponses: 7
    Dernier message: 03/12/2004, 09h59
  3. [JNI]exception_access_violation : tableau string
    Par tambourin dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 02/12/2004, 16h24
  4. [Débutant] Tri tableau String
    Par Sigwald dans le forum Collection et Stream
    Réponses: 22
    Dernier message: 14/05/2004, 08h55
  5. comment creer un tableau "stable"
    Par gaut dans le forum C
    Réponses: 16
    Dernier message: 23/07/2003, 16h20

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