【无法实现的方法】
Process p = Runtime.exec("date");
OutputStream os = p.getOutputStream();
os.write("2006-02-15/n");
Process p = Runtime.exec("time");
OutputStream os = p.getOutputStream();
os.write("15:04:50.32/n");
或者
Process p = Runtime.exec("date 2006-02-15");
Process p = Runtime.exec("time 15:04:50.32");
【可以实现的方法】
以上代码设置不了系统时间的原因:因为date并非是一个实际进程..所以Process没办法返回。。
如果真要那种设的话。你需要建一个文件。。用文件来设时间。。因为文件是一个真正的进程。
try
{
FileWriter fs = new FileWriter("temp.bat");
BufferedWriter bw = new BufferedWriter(fs);
bw.write("date 2008-6-1");
//日期可以自行输入eg: bw.write("date "+year+"-"+month+"-"+day);
bw.close();
Thread.sleep(1000);//加这句是因为可能操作系统还没刷新完硬盘上的文件.你马上调用估计不行.
Process p =Runtime.getRuntime().exec("temp.bat");
}
catch(Exception e){System.out.println(e);}
以上的方法还是有错误,有时可以实现有时却实现不了,依旧不知道原因,望哪位高手指点,后给予更好的解决方法.