Java调用Linux命令行若干实例

来源:互联网 发布:电脑软件安装 编辑:程序博客网 时间:2024/05/17 06:01

 Executing a CommandSee also e90 Reading Output from a Command.

try {        // Execute a command without arguments        String command = "ls";        Process child = Runtime.getRuntime().exec(command);            // Execute a command with an argument        command = "ls /tmp";        child = Runtime.getRuntime().exec(command);    } catch (IOException e) {    }

If an argument contain spaces, it is necessary to use the overload that requires the command and its arguments to be supplied in an array:

try {        // Execute a command with an argument that contains a space        String[] commands = new String[]{"grep", "hello world", "/tmp/f.txt"};        commands = new String[]{"grep", "hello world", "c://Documents and Settings//f.txt"};        Process child = Runtime.getRuntime().exec(commands);    } catch (IOException e) {    }

e90. Reading Output from a Command

try {        // Execute command        String command = "ls";        Process child = Runtime.getRuntime().exec(command);            // Get the input stream and read from it        InputStream in = child.getInputStream();        int c;        while ((c = in.read()) != -1) {            process((char)c);        }        in.close();    } catch (IOException e) {    }
 

e91. Sending Input to a Command

try {        // Execute command        String command = "cat";        Process child = Runtime.getRuntime().exec(command);            // Get output stream to write from it        OutputStream out = child.getOutputStream();            out.write("some text".getBytes());        out.close();    } catch (IOException e) {    }
原创粉丝点击