Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1751 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  récupérer le retour d'une fonction unix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer le retour d'une fonction unix

n°1712677
dams78
développateur
Posté le 04-04-2008 à 11:20:37  profilanswer
 

bonjour, je souhaite récupérer le retour d'une fonction unix, voila le code que j'ai écris

Code :
  1. import java.io.*;
  2. public class Essai{
  3.         public static void main(String[] args) throws Exception {
  4.                 String commande = "wc -l cheminFichier1 | awk '{print $1}'";
  5.                 Process processus = Runtime.getRuntime().exec(commande);
  6.                 BufferedReader d = new BufferedReader(new InputStreamReader(processus.getInputStream()));
  7.                 System.out.println(d.readLine());
  8.         }
  9. }


seulement bien que normalement ma commande me renvoi le nombre de ligne du fichier c'est à dire 10,
java lui renvoie " 10 cheminFichier1 ", alors effectivement je pourai extraire le 10 qui m'interesse, mais dans ce cas la le pipe de ma commande ne sert plus à rien.
 
merci de votre aide

Message cité 1 fois
Message édité par dams78 le 04-04-2008 à 11:21:07

---------------
dam's (debianer), ma galerie Flickr
mood
Publicité
Posté le 04-04-2008 à 11:20:37  profilanswer
 

n°1712823
brisssou
8-/
Posté le 04-04-2008 à 15:33:32  profilanswer
 

dams78 a écrit :

bonjour, je souhaite récupérer le retour d'une fonction unix, voila le code que j'ai écris

Code :
  1. import java.io.*;
  2.  
  3. public class Essai{
  4.        public static void main(String[] args) throws Exception {
  5.                String commande = "wc -l cheminFichier1 | awk '{print $1}'";
  6.                Process processus = Runtime.getRuntime().exec(commande);
  7.                BufferedReader d = new BufferedReader(new InputStreamReader(processus.getInputStream()));
  8.                System.out.println(d.readLine());
  9.        }
  10. }


seulement bien que normalement ma commande me renvoi le nombre de ligne du fichier c'est à dire 10,
java lui renvoie " 10 cheminFichier1 ", alors effectivement je pourai extraire le 10 qui m'interesse, mais dans ce cas la le pipe de ma commande ne sert plus à rien.
 
merci de votre aide


facile :  
http://java.sun.com/j2se/1.4.2/doc [...] ng.String)
puis : http://java.sun.com/j2se/1.4.2/doc [...] xitValue()


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1712853
Bidem
Posté le 04-04-2008 à 16:02:07  profilanswer
 


 
Errrr faux !
 
Il ne cherche pas a avoir le code retour (exit value) de l'appel mais bien ce qui passe par la sortie standard.
 
Après une recherche rapide sur google il semble que Runtime.exec(String) ne soit pas bien adapté pour lancer des lignes de commandes avec des pipes (Cf. 1er lien de la recherche google)
 
=> utiliser exec(String[]) à la place
 

Code :
  1. String[] commande = {
  2.   "/bin/sh",
  3.   "-c", // pour dire au sh de prendre tout le reste de la ligne comme argument
  4.   "wc -l cheminFichier1 | awk '{print $1}'"
  5. };
  6. Process processus = Runtime.getRuntime().exec(commande);


Message édité par Bidem le 04-04-2008 à 16:03:49
n°1712877
brisssou
8-/
Posté le 04-04-2008 à 16:38:30  profilanswer
 

oh pardon, j'ai répondu un brin trop vite alors


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  récupérer le retour d'une fonction unix

 

Sujets relatifs
Selectionner une plage de cellule en fonction d'une autre cellule[VB/VBA/VBS] Afficher des valeurs en fonction des données d'un champ
fonction pour lister les fichiers d'un repertoire[PHP] fonction ftp_ pour déplacer un fichier
Récupérer le nombre de caractère d'un texte ?récupérer les donnees d'un fichier ds 1 tableau python
passage de l'intérieur d'un tableau par référence dans une fonction ?Recuperer lien en flash
récupérer une liste de séquence avec un selectRecuperer le texte d'un document word .doc en php
Plus de sujets relatifs à : récupérer le retour d'une fonction unix


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR