IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

executer un fichier .sh en java


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut executer un fichier .sh en java
    bonsoir,
    s'il vous j'ai besoin de savoir comment executer un fichier .sh en java en faite moi j'ai besoin de recupérer plusieurs fichiers.txt à travers des fichiers .sh
    au lieu d'executer milles fois pour tous les fichiers HN....txt dans un terminale ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ./cow-learning.sh 3  1 HN1989085-9-LaitB.txt
    emacs ergo3-1e.txt
    ls display-cow.sh 
    ./display-cow.sh ergo3-1e 3 HN1989085-9-LaitB.txt
    display HN1989085-9-LaitB.txt-3-moyec.png 
    emacs ergo3-1e.dump
    faire un script qui gère ce travaille (moulinette).
    merci d'avance

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    On exécute des applications externes à travers Runtime.getRuntime().exec(....)

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    s'il vous plait le fichier .sh ou je le met? dans bin ?

  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    j'ai essaiye un code mais il me génere rien !! (

    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
     
    public class TestShell {
     
     
        public static void main(String[] args) {
     
            String[] cmd = { "/bin/sh", "./cow-learning.sh 3  1 HN1989020-9-LaitB.txt" };
            try {
     
                Process p = Runtime.getRuntime().exec(cmd);
                p.getOutputStream().close();
                p.getInputStream().close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ce serit plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] cmd = { "/bin/sh", "./cow-learning.sh","3","1", "HN1989020-9-LaitB.txt" };

  6. #6
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    merci beaucoup mais je pense que j'ai quelque chose qui manque dans cmd car il me génère pas le fichier" emacs ergo3-1e.txt"

    comme en exécutant ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ./cow-learning.sh 3  1 HN1989085-9-LaitB.txt
    emacs ergo3-1e.txt
    ls display-cow.sh 
    ./display-cow.sh ergo3-1e 3 HN1989085-9-LaitB.txt
    display HN1989085-9-LaitB.txt-3-moyec.png 
    emacs ergo3-1e.dump

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par afifaNancy Voir le message
    merci bcq mais je pense que j'ai quelque chose qui manque dans cmd car il me génére pas le fichier" emacs ergo3-1e.txt"
    On comprend rien du tout là, pourriez vous expliquez un peu mieux, vous avez quoi comme erreur, quels sont les messages de votre scripts, qu'est-ce qu'il est censé faire, qu'est-ce qu'il ne fait pas, avoez vous mis le chemin correcte vers le script, etc?

  8. #8
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    j'ai un fichier .sh "./cow-learning.sh" au lieu de l'executer au terminal, je veux l'executer en java sur eclipce.
    voilà ce que je fait en terminal pour avoir a la fin un fichier.txt que j'en ai besoin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ./cow-learning.sh 3  1 HN1989085-9-LaitB.txt
    emacs ergo3-1e.txt
    ls display-cow.sh 
    ./display-cow.sh ergo3-1e 3 HN1989085-9-LaitB.txt
    display HN1989085-9-LaitB.txt-3-moyec.png 
    emacs ergo3-1e.dump
    alors j'ai essaiyé une classe en java mais aucune resultat je ne trouve ni de fichier dans le bin ou src ni dans la console.
    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
     
    public class TestSh {
     
     
        public static void main(String[] args) {
     
        	String[] cmd  = { "/bin/sh", "./cow-learning.sh 3 1 HN1989020-9-LaitB.txt"};
     
        	try {
                 Process p = Runtime.getRuntime().exec(cmd);
                p.getOutputStream().close();
                p.getInputStream().close();
     
     
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    veuillez m'aider svp pour resoudre ce probléme et execusé moi pour mon bas niveau !

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    sauf qu'en java vous n'exécutez que la première de la liste de commande. Ensuite, je gage qu'il n'y a pas de ./cow-learning.sh dans votre répertoire courant quand vous lancez java.

    Si vous obtenez une exception, donnez là.

    Ensuite, traitez correctement vos flux, si votre script renvoie une erreur, vous ne la verrez jamais puisque vous fermez les flux. Lisez ceci http://ydisanto.developpez.com/tutoriels/j2se/runtime/

  10. #10
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    lorsque j'execute ca .
    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
     
    public class TestShell {
     
     
        public static void main(String[] args) {
     
        	String[] cmd  = { "src/./cow-learning.sh 3 1 HN1989020-9-LaitB.txt"};
     
     
     
            try {
     
                Process p = Runtime.getRuntime().exec(cmd);
                p.getOutputStream().close();
                p.getInputStream().close();
     
     
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    java.io.IOException: Cannot run program "src/./cow-learning.sh 3 1 HN1989020-9-LaitB.txt": java.io.IOException: error=2, No such file or directory
    	at java.lang.ProcessBuilder.start(ProcessBuilder.java:475)
    	at java.lang.Runtime.exec(Runtime.java:610)
    	at java.lang.Runtime.exec(Runtime.java:483)
    	at TestShell.main(TestShell.java:12)
    Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
    	at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
    	at java.lang.ProcessImpl.start(ProcessImpl.java:81)
    	at java.lang.ProcessBuilder.start(ProcessBuilder.java:468)
    	... 3 more

  11. #11
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ben le message est clair, vous mettez le mauvais chemin vers votre script. Il y a rien à cet endroit là.

  12. #12
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Par défaut
    non c'est le bon chemin et la bas ou se trouve le script vraiment bizarre !

  13. #13
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    C'est un chemin relatif. Savez vous au moins relatif à quoi il est?

Discussions similaires

  1. Execution de fichiers .bat sous java
    Par Laurent_3154 dans le forum Général Java
    Réponses: 4
    Dernier message: 06/02/2013, 16h17
  2. Réponses: 1
    Dernier message: 28/05/2008, 16h04
  3. Executer un fichier .java externe au programme
    Par DamS2502 dans le forum Langage
    Réponses: 16
    Dernier message: 06/05/2008, 16h42
  4. executer un fichier java a partir d'un autre!
    Par moon5 dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2007, 13h23
  5. Executer un fichier.java
    Par jcodeunpeu dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/04/2006, 21h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo