root/šablona/funkce/src/cz/frantovo/xmlWebGenerator/NástrojeCLI.java @ 58:9402e5d1df7c

Revision 38:43505795334d, 1.4 KB (checked in by František Kučera <franta-hg@…>, 13 years ago)

Netbeans projekt + refaktorování Javového kódu (první krok).

Line 
1package cz.frantovo.xmlWebGenerator;
2
3import java.io.BufferedReader;
4import java.io.IOException;
5import java.io.InputStream;
6import java.io.InputStreamReader;
7
8/**
9 * Pomocné funkce pro práci s příkazy
10 * @author fiki
11 */
12public 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}
Note: See TracBrowser for help on using the browser.