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:
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:
Citation:
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