Bonjour,
je souhaiterai récupérer une partie d'un texte dans un fichier txt
qui se présente comme le fichier attachés (status.txt) :
Je souhaite d'abord lire le fichier ligne par ligne et puis je souhaite afficher des informations comme :
Vlan : 1
Nombre de ports total : 20
Nombre de ports connecté : 2
Nombre de ports nonconnecté : 18
Liste de port connecté : Gi1/0/1,Gi1/0/2
List de port nonconnecté : Gi1/0/3,Gi1/0/4,Gi1/0/5,Gi1/0/6,Gi1/0/7,Gi1/0/8,Gi1/0/9,Gi1/0/11,Gi1/0/12,Gi1/0/13,Gi1/0/17,Gi1/0/18,Gi1/0/19,Gi1/0/20,Gi1/0/25,Gi1/0/26,Gi1/0/27,Gi1/0/28
*********
Vlan : 2
Nombre de ports total : 5
Nombre de ports connecté : 2
Nombre de ports nonconnecté : Gi1/0/10,Gi1/0/21
List de port nonconnecté : Gi1/0/22,Gi1/0/23,Gi1/0/24
.
.
.
J'ai essayé d'écrire ce code mais ça affiche pas ce que je veux.
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 import java.util.ArrayList; import java.lang.String.*; import java.lang.Object.*; public class CheckInterface { int ctrVlan; java.util.List<String> list1 = new ArrayList<String>(); java.util.List<String> list2 = new ArrayList<String>(); public void Check(String str){ if(str.contains("Vlan")){ ctrVlan++; } if(str.contains("connect")){ list1.add(str); } if(str.contains("notconnect")){ list2.add(str); } } }Avec ces codes, j'ai obtenu ça :
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 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.lang.String.*; import java.lang.Object.*; public class Main { public static void main(String[] args) { File file = new File("status.txt"); BufferedReader reader = null; CheckInterface ch=new CheckInterface(); try { reader = new BufferedReader(new FileReader(file)); String str = null; while ((str = reader.readLine()) != null) { try{ ch.Check(str); str = reader.readLine(); }catch (Exception e) {} } for (ch.ctrVlan=1;ch.ctrVlan<4;ch.ctrVlan++) { System.out.println("Vlan: " + ch.ctrVlan); System.out.println("The total number of ports: " +(ch.list1.size() + ch.list2.size())); System.out.println("The number of connected ports: " +ch.list1.size()); System.out.println("The number of not connected ports: " +ch.list2.size()); System.out.println("List of connected ports: " +Arrays.toString(ch.list1.toArray())); System.out.println("List of not connected ports: " +Arrays.toString(ch.list2.toArray())); System.out.println("********************************************************"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
Vlan: 1
The total number of ports: 26
The number of connected ports: 14
The number of not connected ports: 12
List of connected ports: [Gi1/0/2 connected 1 a-full a-1000 10/100/1000BaseTX, Gi1/0/4 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/6 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/8 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/10 connect to mail server connected 2 auto auto 10/100/1000BaseTX, Gi1/0/12 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/14 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/16 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/18 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/20 connect to fl2 switch notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/22 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/24 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/26 notconnect 1 auto auto Not Present, Gi1/0/28 notconnect 1 auto auto Not Present]
List of not connected ports: [Gi1/0/4 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/6 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/8 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/12 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/14 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/16 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/18 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/20 connect to fl2 switch notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/22 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/24 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/26 notconnect 1 auto auto Not Present, Gi1/0/28 notconnect 1 auto auto Not Present]
********************************************************
Vlan: 2
The total number of ports: 26
The number of connected ports: 14
The number of not connected ports: 12
List of connected ports: [Gi1/0/2 connected 1 a-full a-1000 10/100/1000BaseTX, Gi1/0/4 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/6 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/8 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/10 connect to mail server connected 2 auto auto 10/100/1000BaseTX, Gi1/0/12 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/14 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/16 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/18 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/20 connect to fl2 switch notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/22 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/24 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/26 notconnect 1 auto auto Not Present, Gi1/0/28 notconnect 1 auto auto Not Present]
List of not connected ports: [Gi1/0/4 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/6 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/8 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/12 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/14 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/16 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/18 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/20 connect to fl2 switch notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/22 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/24 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/26 notconnect 1 auto auto Not Present, Gi1/0/28 notconnect 1 auto auto Not Present]
********************************************************
Vlan: 3
The total number of ports: 26
The number of connected ports: 14
The number of not connected ports: 12
List of connected ports: [Gi1/0/2 connected 1 a-full a-1000 10/100/1000BaseTX, Gi1/0/4 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/6 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/8 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/10 connect to mail server connected 2 auto auto 10/100/1000BaseTX, Gi1/0/12 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/14 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/16 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/18 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/20 connect to fl2 switch notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/22 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/24 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/26 notconnect 1 auto auto Not Present, Gi1/0/28 notconnect 1 auto auto Not Present]
List of not connected ports: [Gi1/0/4 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/6 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/8 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/12 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/14 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/16 notconnect 3 auto auto 10/100/1000BaseTX, Gi1/0/18 notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/20 connect to fl2 switch notconnect 1 auto auto 10/100/1000BaseTX, Gi1/0/22 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/24 notconnect 2 auto auto 10/100/1000BaseTX, Gi1/0/26 notconnect 1 auto auto Not Present, Gi1/0/28 notconnect 1 auto auto Not Present]
********************************************************
Quelqu'un a une idée pour corriger ce code?
Merci.
Partager