Lire un .txt,specifier et après enregistrer dans une base Mysql
jayzman
-
jayzman -
jayzman -
Bonjour,
je voudrai avoir un code qui peut lire un fichier .txt et après enregistrer dqns une base,j'ai dejà le code qui lit le fichier .txt mais je veut juste avoir le parametre dans le fichier,je ne sais pas m'exprimer mais je vous explique un peu
exemple:
fichier.txt
code java
et je voudrais savoir où je vais mettre le regex pour specifier et avoir le contenue que je veut,
Le Type est le nom de la table et le entre () est ses parametres.
merci
jayzman
je voudrai avoir un code qui peut lire un fichier .txt et après enregistrer dqns une base,j'ai dejà le code qui lit le fichier .txt mais je veut juste avoir le parametre dans le fichier,je ne sais pas m'exprimer mais je vous explique un peu
exemple:
fichier.txt
Heure id table CID SRC
[08:15:01.285] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (src-conf=0)
[08:15:06.23] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (src-conf=0)
[08:15:08.123] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (RNC1=2)
code java
import java.io.*; import java.util.*; import java.util.regex.Pattern; //<<<<<<<<<<<<<<<<<<<<<<<< class ADT { public static void main(String[] args){ String filePath = "D:\\Asa_zo\\macrogpeh\\GPEH_CALL_FAIL\\fichier.txt"; String garder = ""; try{ BufferedReader buff = new BufferedReader(new FileReader(filePath)); try { String line; // Lire le fichier ligne par ligne // La boucle se termine quand la méthode affiche "null" while ((line = buff.readLine()) != null) { System.out.println(line); int index = line.indexOf("internal-call-setup-fail"); // exemple de partie commune des lignes à garder if(index > 0) // si on trouve "table" garder+= line + "|"; } //System.out.println("\n\ngarder = " + "\"" + garder + "\""); Pattern pattern = Pattern.compile("\\|"); // import java.util.regex.Pattern; String[] tabGarder = pattern.split(garder); // pour mettre les lignes conservées // dans le tableau tabGarder System.out.println(""); // Résultat: for(int i = 0; i < tabGarder.length; i++) { String lGardee = tabGarder[i]; System.out.println("Trouvée: " + "\"" + lGardee + "\""); } // ... Jusqu'ici <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< buff.close(); //Lecture fini donc on ferme le flux } catch (IOException e){ System.out.println(e.getMessage()); System.exit(1); } } catch (IOException e) { System.out.println(e.getMessage()); System.exit(1); } } }
et je voudrais savoir où je vais mettre le regex pour specifier et avoir le contenue que je veut,
Le Type est le nom de la table et le entre () est ses parametres.
merci
jayzman
A voir également:
- Lire un .txt,specifier et après enregistrer dans une base Mysql
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Audacity enregistrer son pc - Guide
- Comment lire un message supprimé sur whatsapp - Guide
- Lire fichier bin - Guide
1 réponse
Bonjour,
Si je prends :
Tu peux faire simplement comme ceci :
Ce qui donne :
Ou plus finement :
Ce qui donne :
Si je prends :
String[] lines = { "[08:15:01.285] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (src-conf=0)", "[08:15:06.23] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (src-conf=0)", "[08:15:08.123] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (RNC1=2)" };
Tu peux faire simplement comme ceci :
for (String line : lines) { for (String part : line.split("\\s+")) System.out.println(part); System.out.println(); }
Ce qui donne :
[08:15:01.285] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (src-conf=0) [08:15:06.23] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (src-conf=0) [08:15:08.123] /2271 (EVENT) internal-call-setup-fail (CID1=28158) (RNC1=2)
Ou plus finement :
Pattern pattern = Pattern.compile("\\[(.*)\\]\\s+\\/(\\d+)\\s+\\((.*)\\)\\s+([^\\s]+)\\s+\\((.*)\\)\\s+\\((.*)\\)"); for (String line : lines) { Matcher matcher = pattern.matcher(line); if (matcher.find()) { for (int i = 1; i <= matcher.groupCount(); i++) System.out.println(matcher.group(i)); } System.out.println(); }
Ce qui donne :
08:15:01.285 2271 EVENT internal-call-setup-fail CID1=28158 src-conf=0 08:15:06.23 2271 EVENT internal-call-setup-fail CID1=28158 src-conf=0 08:15:08.123 2271 EVENT internal-call-setup-fail CID1=28158 RNC1=2
merci pour votre réponse ça a marché,
Et comment je fais pour l'enregistrer dans la base de donnée
Si le résultat est stocker dans un seul variable?
merci,
Jayzman