java代码中执行liunx命令
1
public static String runShell(String command){
2
try{
3
String[] commands = isLinux()?new String[]{"/bin/sh","-c",command}:new String[]{"cmd","/c",command};
4
Process process = Runtime.getRuntime().exec(commands);
5
InputStreamReader ir = new InputStreamReader(process.getInputStream());
6
LineNumberReader input = new LineNumberReader(ir);
7
String ln;
8
StringBuilder result = new StringBuilder();
9
while ((ln = input.readLine()) != null){
10
result.append(ln);
11
result.append("\n");
12
}
13
input.close();
14
ir.close();
15
return result.toString();
16
}
17
catch(Exception e){
18
e.printStackTrace();//log
19
return null;
20
}
21
}
22
public static boolean isLinux(){
23
String os = System.getProperty("os.name").toLowerCase();
24
if(null != os && os.contains("windows")){
25
return false;
26
}
27
return true;
28
}
满载一船星辉,在星辉斑斓里放歌