1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/NástrojeCLI.java Sat Jan 07 12:43:07 2012 +0100
1.3 @@ -0,0 +1,53 @@
1.4 +package cz.frantovo.xmlWebGenerator;
1.5 +
1.6 +import java.io.BufferedReader;
1.7 +import java.io.IOException;
1.8 +import java.io.InputStream;
1.9 +import java.io.InputStreamReader;
1.10 +
1.11 +/**
1.12 + * Pomocné funkce pro práci s příkazy
1.13 + * @author fiki
1.14 + */
1.15 +public class NástrojeCLI {
1.16 +
1.17 + private static final String PŘÍKAZ_WHICH = "which";
1.18 +
1.19 + /**
1.20 + * Pomocí programu which zjistí, jestli je daný příkaz v systému přítomný.
1.21 + * @param příkaz jehož přítomnost zjišťujeme
1.22 + * @return true pokud příkaz v systému existuje
1.23 + */
1.24 + public static boolean isPříkazDostupný(String příkaz) {
1.25 + try {
1.26 + Runtime r = Runtime.getRuntime();
1.27 + Process p = r.exec(new String[]{PŘÍKAZ_WHICH, příkaz});
1.28 + p.waitFor();
1.29 + return p.exitValue() == 0;
1.30 + } catch (Exception e) {
1.31 + System.err.printf("Při zjišťování dostupnosti příkazu „%s“ došlo k chybě: %s", příkaz, e.getLocalizedMessage());
1.32 + return false;
1.33 + }
1.34 + }
1.35 +
1.36 + /**
1.37 + * Čte proud dat dokud to jde a výsledek pak vrátí jako text.
1.38 + * @param proud vstupní proud
1.39 + * @return obsah proudu jako text
1.40 + * @throws IOException
1.41 + */
1.42 + public static String načtiProud(InputStream proud) throws IOException {
1.43 + StringBuilder výsledek = new StringBuilder();
1.44 + BufferedReader buf = new BufferedReader(new InputStreamReader(proud));
1.45 + while (true) {
1.46 + String radek = buf.readLine();
1.47 + if (radek == null) {
1.48 + break;
1.49 + } else {
1.50 + výsledek.append(radek);
1.51 + výsledek.append("\n");
1.52 + }
1.53 + }
1.54 + return výsledek.toString();
1.55 + }
1.56 +}