Amélioration d'un programme Java

Fermé
badjess Messages postés 7 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 31 décembre 2009 - 19 mai 2005 à 23:16
emmanuelP Messages postés 137 Date d'inscription vendredi 8 février 2002 Statut Contributeur Dernière intervention 7 mai 2006 - 21 mai 2005 à 20:07
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 33654 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2025 7 847
20 mai 2005 à 17:21
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 vendredi 8 février 2002 Statut Contributeur Dernière intervention 7 mai 2006 161
21 mai 2005 à 20:07
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