|
1 package cz.frantovo.xmlWebGenerator; |
|
2 |
|
3 import java.io.BufferedReader; |
|
4 import java.io.IOException; |
|
5 import java.io.InputStream; |
|
6 import java.io.InputStreamReader; |
|
7 |
|
8 /** |
|
9 * Pomocné funkce pro práci s příkazy |
|
10 * @author fiki |
|
11 */ |
|
12 public class NástrojeCLI { |
|
13 |
|
14 private static final String PŘÍKAZ_WHICH = "which"; |
|
15 |
|
16 /** |
|
17 * Pomocí programu which zjistí, jestli je daný příkaz v systému přítomný. |
|
18 * @param příkaz jehož přítomnost zjišťujeme |
|
19 * @return true pokud příkaz v systému existuje |
|
20 */ |
|
21 public static boolean isPříkazDostupný(String příkaz) { |
|
22 try { |
|
23 Runtime r = Runtime.getRuntime(); |
|
24 Process p = r.exec(new String[]{PŘÍKAZ_WHICH, příkaz}); |
|
25 p.waitFor(); |
|
26 return p.exitValue() == 0; |
|
27 } catch (Exception e) { |
|
28 System.err.printf("Při zjišťování dostupnosti příkazu „%s“ došlo k chybě: %s", příkaz, e.getLocalizedMessage()); |
|
29 return false; |
|
30 } |
|
31 } |
|
32 |
|
33 /** |
|
34 * Čte proud dat dokud to jde a výsledek pak vrátí jako text. |
|
35 * @param proud vstupní proud |
|
36 * @return obsah proudu jako text |
|
37 * @throws IOException |
|
38 */ |
|
39 public static String načtiProud(InputStream proud) throws IOException { |
|
40 StringBuilder výsledek = new StringBuilder(); |
|
41 BufferedReader buf = new BufferedReader(new InputStreamReader(proud)); |
|
42 while (true) { |
|
43 String radek = buf.readLine(); |
|
44 if (radek == null) { |
|
45 break; |
|
46 } else { |
|
47 výsledek.append(radek); |
|
48 výsledek.append("\n"); |
|
49 } |
|
50 } |
|
51 return výsledek.toString(); |
|
52 } |
|
53 } |