bonjour,
dans mon code je traite le résultat d'une commande, lorsque je veux juste afficher le résultat de la commende sur le console tous fonctionne mais je vais faire des traitements sur les lignes de résultats du genre je récupére certaine information et les mettre dans une liste.mon code est le suivant:
mais j'ai des prblèmes avec les types des variables par exemple je veux que ma variable x s'incrémente à chaque ligne lue mais comme elle est final j'arrive pas et lorsque j'enlève le final des erreurs apparaissent au niveau de la variable process il demande qu'il doit être final et vraiment je comprend pas bien ce genre de trucs final et static . merci
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 package test.commande.cluto; import java.io.*; import java.util.LinkedList; public class Exec { public static void main(String[] args) throws IOException { String cmd; final String clusterid="0"; final int x = 0; final LinkedList<String> liste = new LinkedList(); Runtime runtime = Runtime.getRuntime(); final Process process = runtime.exec(new String[] { "Z:\\cluto-2.1.1\\Win32\\vcluster.exe", "-sim=cos", "-clabelfile","Z:\\clutofile\\columnlabelfile.mat.clabel", "-showfeatures","Z:\\clutofile\\inputfile.mat", "10" }); new Thread() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = ""; try { while((line = reader.readLine()) != null) { // Traitement du flux de sortie de l'application si besoin est System.out.println(line); if (line.contains("Descriptive:")) { liste.add(clusterid); x++; clusterid=String.valueOf(x); System.out.println(line);} } } finally { reader.close(); } } catch(IOException ioe) { ioe.printStackTrace(); } } }.start(); } }
Partager