Salut,
j'ai quelques problèmes avec l'execution d'une commande grep via un runtime dans un programme java.
voilà mon code :
Code :
- import java.io.*;
- class RuntimeTest
- { public static void main(String[] args)
- { Runtime rt= Runtime.getRuntime();
- try{
- Process pr= rt.exec(args);
- DataInputStream is= new DataInputStream(pr.getInputStream());
- String res= is.readLine();
- while (res!=null)
- { System.out.println(res);
- res= is.readLine();
- }
- }
- catch(IOException ioe) {System.err.println("Error: " + ioe);}
- } // main
- } // RuntimeTest
|
Je l'utilise par exemple comme ça :
Code :
- java RuntimeTest grep -i '^Subject:.*manger' Document.txt
|
De cette manière ça fonctionne.
Maintenant je voudrais mettre ma commande directement dans le code sans passer par les arguments:
Code :
- Process pr= rt.exec("grep -i '^Subject:.*manger' Document.txt" );
|
C'est là que ça ne marche pas... à mon avis il y a un problème d'échappement de caractère avec les simple quotes mais je n'arrive pas à le réssoudre.
Des idées ?
Merci