我编写了一个java代码来改变系统时间,但它无法正常工作。 java代码编译并成功运行。有人请指出这里有什么问题。
我的java代码是:
Process process = Runtime.getRuntime().exec("/home/priyatam/timesetter.sh");
process.waitFor();
DataInputStream d = new DataInputStream(process.getInputStream());
System.out.println(d.read()); //It gives the output as number of bytes as 83
sh文件的内容如下:
#!/bin/sh
date --set =“2014-2-20 11:58 AM”
命令'date --set =“2014-2-20 11:58 AM”'在终端中正常工作。 此外,这个sh文件在从终端执行时工作正常,但它不能通过java代码工作。
任何人都有任何想法,请分享。
答案 0 :(得分:3)
我认为你应该这样做
String[] cmd = { "/bin/sh","/home/priyatam/timesetter.sh" };
Process p = Runtime.getRuntime.exec(cmd);
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
log.warn(line);
}
int exitVal = process.waitFor();