java里实现修改系统时间

我想使用dos的time命令来实现,ProcessBuilder pb=new Processbuilder("cmd/ time 12:00:00");Process p=pb.start();我是这么写的,编译器一直报错说pb.start()不对,怎么改啊?或者有其他方法实现?

java修改系统时间:
1。windows环境下:
Runtime.getRuntime().exec("cmd /c date 2013-05-06");//Windows 系统
Runtime.getRuntime().exec("cmd /c time 22:35:00");//Windows 系统
2.linux环境下:
Runtime.getRuntime().exec(" sudo date -s 2013-05-06")//linux 系统为tomcat用户分配了权限
Runtime.getRuntime().exec(" sudo date -s 22:25:00")//linux 系统为tomcat用户分配了权限
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-11
try {
Process p = Runtime.getRuntime().exec("cmd /c time");
// p.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));

if (!br.ready()) {
Thread.sleep(100);
}
while (true) {
String s = br.readLine();
if (s == null)
break;
System.out.println(s);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}本回答被提问者采纳
第2个回答  2010-01-11
Runtime.exec行不行