récupérer tous les caractères d'un System.exec et les stocker dans un fich ier
4 réponses
Sylvie MOREL
Bonjour,
j'exécute un appel système et j'emmerai stocker le résultat de
l'exécution dans un fichier. Le problème c'est que je n'arrive pas à
stocker tous les caractères récupérés.
Voici mon code:
String [] para = .....;
p = Runtime.getRuntime().exec(para);
BufferedInputStream out = new BufferedInputStream(p.getInputStream());
byte [] sortie = new byte[45000000]; // probleme de taille?????
out.read(sortie);
int i=0;
PrintStream ps2 = new PrintStream(new FileOutputStream("res.dot"));
while ((i<sortie.length)&&(sortie[i] != 0)){
ps2.print((char)sortie[i]);
i++;
}
ps2.close();
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cedric ROCHEFOLLE
"Sylvie MOREL" wrote
BufferedInputStream out = new BufferedInputStream(p.getInputStream()); byte [] sortie = new byte[45000000]; // probleme de taille????? out.read(sortie); Il faut faire une boucle
while(out.available()>0) { // ecrit ce qui arrive dans le fichier } Comme ca, ca s'arrete des que tous est fini.
Cedric
"Sylvie MOREL" <smorel@irisa.fr> wrote
BufferedInputStream out = new BufferedInputStream(p.getInputStream());
byte [] sortie = new byte[45000000]; // probleme de taille?????
out.read(sortie);
Il faut faire une boucle
while(out.available()>0) {
// ecrit ce qui arrive dans le fichier
}
Comme ca, ca s'arrete des que tous est fini.
BufferedInputStream out = new BufferedInputStream(p.getInputStream()); byte [] sortie = new byte[45000000]; // probleme de taille????? out.read(sortie); Il faut faire une boucle
while(out.available()>0) { // ecrit ce qui arrive dans le fichier } Comme ca, ca s'arrete des que tous est fini.
Cedric
Sylvie MOREL
j'ai essayé mais mon fichier est vide :-(.
Voici le code:
Process p; try { String [] para = ....; p = Runtime.getRuntime().exec(para); // crée le fichier BufferedInputStream out = new BufferedInputStream(p.getInputStream()); PrintStream ps = new PrintStream(new FileOutputStream("test")); while(out.available()>0) { ps.print((char)out.read()); } ps.close();
Merci :-)
Cedric ROCHEFOLLE wrote:
"Sylvie MOREL" wrote
BufferedInputStream out = new BufferedInputStream(p.getInputStream()); byte [] sortie = new byte[45000000]; // probleme de taille????? out.read(sortie);
Il faut faire une boucle while(out.available()>0) { // ecrit ce qui arrive dans le fichier } Comme ca, ca s'arrete des que tous est fini.
Cedric
j'ai essayé mais mon fichier est vide :-(.
Voici le code:
Process p;
try {
String [] para = ....;
p = Runtime.getRuntime().exec(para);
// crée le fichier
BufferedInputStream out = new BufferedInputStream(p.getInputStream());
PrintStream ps = new PrintStream(new FileOutputStream("test"));
while(out.available()>0) {
ps.print((char)out.read());
}
ps.close();
Merci :-)
Cedric ROCHEFOLLE wrote:
"Sylvie MOREL" <smorel@irisa.fr> wrote
BufferedInputStream out = new BufferedInputStream(p.getInputStream());
byte [] sortie = new byte[45000000]; // probleme de taille?????
out.read(sortie);
Il faut faire une boucle
while(out.available()>0) {
// ecrit ce qui arrive dans le fichier
}
Comme ca, ca s'arrete des que tous est fini.
Process p; try { String [] para = ....; p = Runtime.getRuntime().exec(para); // crée le fichier BufferedInputStream out = new BufferedInputStream(p.getInputStream()); PrintStream ps = new PrintStream(new FileOutputStream("test")); while(out.available()>0) { ps.print((char)out.read()); } ps.close();
Merci :-)
Cedric ROCHEFOLLE wrote:
"Sylvie MOREL" wrote
BufferedInputStream out = new BufferedInputStream(p.getInputStream()); byte [] sortie = new byte[45000000]; // probleme de taille????? out.read(sortie);
Il faut faire une boucle while(out.available()>0) { // ecrit ce qui arrive dans le fichier } Comme ca, ca s'arrete des que tous est fini.
Cedric
Cedric ROCHEFOLLE
"Sylvie MOREL" wrote in message news:
j'ai essayé mais mon fichier est vide :-(.
As-tu fais un ps.flush() avant de ps.close();
Cedric
"Sylvie MOREL" <smorel@irisa.fr> wrote in message
news:3F180E8E.1070500@irisa.fr...
non mais j'ai fait un System.out.println("test") dans la boucle while et il ne m'a rien affiché. Donc le out.available()>0 ne marche pas :-(. Pourquoi?
Cedric ROCHEFOLLE wrote:
"Sylvie MOREL" wrote in message news:
j'ai essayé mais mon fichier est vide :-(.
As-tu fais un ps.flush() avant de ps.close();
Cedric
non mais j'ai fait un System.out.println("test") dans la boucle while et
il ne m'a rien affiché. Donc le out.available()>0 ne marche pas :-(.
Pourquoi?
Cedric ROCHEFOLLE wrote:
"Sylvie MOREL" <smorel@irisa.fr> wrote in message
news:3F180E8E.1070500@irisa.fr...
non mais j'ai fait un System.out.println("test") dans la boucle while et il ne m'a rien affiché. Donc le out.available()>0 ne marche pas :-(. Pourquoi?