Votre question

Lecture un fichier champ par champ en java

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
Anonyme
20 Mai 2011 13:06:28

Bonjour,
j'ai essayer de faire un petit programme sur sécurité des réseau ad hoc par firewall sous linux. je tape ses règles par la commande iptables et maintenant je fais la programmation en java. la première étape "afficher tout la tables" est fonctionne mais la deuxième parti qui consiste :lecture champ par champ par la commande tokenizer je souhaite de me aider.
merci.

Autres pages sur : lecture fichier champ champ java

20 Mai 2011 13:13:41

Salut,

  1. StringTokenizer st = new StringTokenizer("this is a test");
  2. while (st.hasMoreTokens()) {
  3. System.out.println(st.nextToken());
  4. }

// prints the following output:
this
is
a
test


C'est ça que tu veux faire ?
m
0
l
Anonyme
20 Mai 2011 13:19:05

mais la table est plus grande que ça et je prefere avoir champ par champ pour la lecture de la ligne
m
0
l
Contenus similaires
20 Mai 2011 14:03:57

Tu n'as pas de limite de taille pour le String du constructeur de StringTokenizer.
Et tu as déjà les champs un par un; tu les préfères dans un tableau ?

  1. StringTokenizer stok = new StringTokenizer("ceci est un texte de test pour 8860855" );
  2. String[] lesElements = new String[stok.countTokens()];
  3. int iTok = 0;
  4. while (stok.hasMoreTokens()) {
  5. lesElements[iTok] = stok.nextToken();
  6. iTok++;
  7. }
  8. for (int j=0; j < lesElements.length; j++) {
  9. System.out.println(lesElements[j]);
  10. }


Dis-moi si c'est ce que tu veux.

Edit : balises code rajoutées à la demande de Crazycat
m
0
l
a c 145 L Programmation
20 Mai 2011 14:23:45

@monami62 : tu peux utiliser les balises [ code ] et [ /code ] (sans les espaces) s'il te plait ?
Ca rendra tes participations (très utiles au demeurant) plus lisibles.

Merci !
m
0
l
Anonyme
20 Mai 2011 15:59:37

oui c'est ce que je veux
voila le programme

  1. import java.io.*;
  2. import java.util.StringTokenizer;
  3.  
  4. public class Discfree
  5.  
  6. {
  7.  
  8. public static void main (String [] args) throws IOException
  9. {
  10.  
  11. String Command = "iptables -L";
  12.  
  13. Process Findspace = Runtime.getRuntime().exec(Command);
  14.  
  15. BufferedReader Resultset = new BufferedReader(new InputStreamReader(Findspace.getInputStream()));
  16.  
  17. String line;
  18.  
  19. while ((line = Resultset.readLine()) != null)
  20. {
  21.  
  22. StringTokenizer stok = new StringTokenizer("num target prot opt source destination");
  23. String[] leselements = new String[stok.countTokens()];
  24. int iTok=0;
  25. while (stok.hasMoreTokens())
  26. {
  27. leselements[iTok] = stok.nextToken();
  28. iTok++;
  29. }
  30. for(int j=0;j<leselements.length;j++)
  31. {
  32. System.out.println(leselements[j]);
  33. }
  34. }
  35. }
  36.  
  37.  
  38. }



et voila leur execution
num
target
prot
opt
source
destination
num
target
prot
opt
source
destination
num
target
prot
opt
source
destination
num
target
prot
opt
source
destination
num
target
prot
opt
source
destination
num


voila la tables d’iptables :

Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:23
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:53
8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:20
9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
10 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW
2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED,UNTRACKED
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

Chain OUTPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW


Je veux faire l’exécution de chaque colonne avec ses informations
Merci.

m
0
l
20 Mai 2011 16:07:46

Je ne peux pas t'aider plus; je ne sais pas comment on exploite une iptable.

Mais pour récupérer tes infos de table, il faudra mettre :

new StringTokenizer(line );

au lieu de :

new StringTokenizer("num target prot opt source destination" );
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS