Amélioration d'un programme Java

badjess Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
emmanuelP Messages postés 137 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

J’ai un problème et je voudrais que vous m’aidiez à le résoudre.

package fr.test.telnet;
import java.net.*;
import java.io.*;
import thor.net.*;

class SimpleTelnetTerminalHandler
extends DefaultTelnetTerminalHandler
implements TelnetConstants {
public void LineFeed() {
System.out.print('\n');
System.out.flush();
}
public void CarriageReturn() {
System.out.print('\r');
System.out.flush();
}
public void BackSpace() {
System.out.print((char) BS);
System.out.flush();
}
public void HorizontalTab() {
System.out.print((char) HT);
System.out.flush();
}
}

/** telnet application for monitoring radio system.
*/

public class RadioAppTelnet {
static volatile boolean closed = false;
public static void main(String[] args) {
try {
String host = args[0];
int port = 23;
URL url =
new URL(
"telnet",
host,
port,
"",
new thor.net.URLStreamHandler());
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
if (urlConnection instanceof TelnetURLConnection) {
((TelnetURLConnection) urlConnection).setTelnetTerminalHandler(
new SimpleTelnetTerminalHandler());
}
OutputStream out = urlConnection.getOutputStream();
final InputStream in = urlConnection.getInputStream();
(new Thread(new Runnable() {
public void run() {
try {
int ch;
do {
ch = in.read();
if (ch < 0)
return;
System.out.print((char) ch);
System.out.flush();
} while (true);
} catch (Exception e) {
if (!closed)
e.printStackTrace();
}
}
})).start();

int key;

boolean init = false;

while (true) {
if(init==false){
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.write(args[1].getBytes());
out.write('\r');
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.write('4');
//out.write('\r');
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.write('4');
//out.write('\r');
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.write(args[2].getBytes());
out.write('\r');
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.write('3');
//out.write('\r');
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
out.write('4');
//out.write('\r');
out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
init=true;
}

out.write('1');
out.write('\r');
out.flush();
try {
Thread.sleep(Integer.parseInt(args[3])*1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}

} catch (IOException e) {
e.printStackTrace();
}
}
}



Je voudrais modifier mon programme ci-dessus de telle sorte qu’il m’affiche en sortie, que les valeurs des champs suivants dans un tableau Exell.

Valeur1 (dBm) Valeur2 (dB) Valeur3 Valeur4 (dBm) Valeur5 (dB) Valeur6
-73.90 29.60 1/2 56 35 2

J’ai des informations brutes qui sont stockées dans un fichier texte en sortie de la forme suivante et de manière continue :

Test 10.0.0.1
SW Version 1.0.2.15
SU-DXT1-Configuration
========================================
1 - Show
2 - Set Rates
>
Valeur1 (dBm) : -73.90
Valeur2 (dB) : 29.60
Valeur3 : 1/2
Valeur4 (dBm) : -56
Valeur5 (dB) : 35
Valeur6 : 3/4

Test 10.0.0.1
SW Version 1.0.2.15
SU-DXT1-Configuration
========================================
1 - Show
2 - Set Rates
>
Valeur1 (dBm) : -73.90
Valeur2 (dB) : 29.60
Valeur3 : 1/2
Valeur4 (dBm) : -56
Valeur5 (dB) : 35
Valeur6 : 3/4


Je suis très embêté et j’aimerai que vous puissiez m’aider. Je suis ouvert à toute proposition pouvant me permettre de résoudre ce problème car je suis débutant en Java.

Cordialement
A voir également:

2 réponses

mamiemando Messages postés 33774 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Je ne comprends pas : il suffit de rajouter des System.out.println(...) au moment ou tu écris dans tes fichiers de données brutes... non ?

Cette partie du code ne semble pas figurer dans le code que tu as collé (plus exactement, il est dans des fonctions auxquelles tu fais appel qui ne figurent pas).

Si tu n'as pas accès à cette partie du code, tu peux toujours travailler sur les fichiers de données "brutes"... Tu l'ouvres, tu le parses, etc...
0
emmanuelP Messages postés 137 Date d'inscription   Statut Contributeur Dernière intervention   161
 
Salut,

A mon humble avis, si tu veux absolument avoir les résultats dans une feuille excell tu vas pas te marrer tous les jours!!! Le format est hyper complexe!!


Si c'est juste une question de présentation, je te suggere plutot de placer des balises HTML dans le flot de sortie ( out.write("<div>") etc... par ex).

Good Luck
0