关于Java Runtime.getRuntime().exec()的问题
使用Eclipse编写Java程序是遇到的问题有这样几个1运行时如修改IP到等操作牵扯到管理员权限的问题如何解决例如这段代码try{Processq=Runtime.ge...
使用Eclipse编写Java程序是遇到的问题有这样几个
1运行时如修改IP到等操作牵扯到管理员权限的问题如何解决
例如这段代码
try {
Process q =Runtime.getRuntime().exec("netsh interface ip set addr \"本地连接 2\" static 192.168.32.3 255.255.255.0 192.168.32.1 1");
BufferedReader br = new BufferedReader(new InputStreamReader(q.getInputStream()));
String line;
while ((line = br.readLine()) != null){
System.out.println(line);
}
Runtime.getRuntime().exec("pause");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2将所有的命令打成bat包,再由Runtime.getRuntime().exec()来运行是否可行,这种情况下产生的权限问题又该如何解决
3Runtime.getRuntime().exec(pause);为何执行时会出现IO错误
运行Process p =Runtime.getRuntime().exec("ipconfig/renew 本地连接 2");时同样会出错
java.io.IOException: Cannot run program "ipconfig/renew": CreateProcess error=2, ?????????
求解释 展开
1运行时如修改IP到等操作牵扯到管理员权限的问题如何解决
例如这段代码
try {
Process q =Runtime.getRuntime().exec("netsh interface ip set addr \"本地连接 2\" static 192.168.32.3 255.255.255.0 192.168.32.1 1");
BufferedReader br = new BufferedReader(new InputStreamReader(q.getInputStream()));
String line;
while ((line = br.readLine()) != null){
System.out.println(line);
}
Runtime.getRuntime().exec("pause");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2将所有的命令打成bat包,再由Runtime.getRuntime().exec()来运行是否可行,这种情况下产生的权限问题又该如何解决
3Runtime.getRuntime().exec(pause);为何执行时会出现IO错误
运行Process p =Runtime.getRuntime().exec("ipconfig/renew 本地连接 2");时同样会出错
java.io.IOException: Cannot run program "ipconfig/renew": CreateProcess error=2, ?????????
求解释 展开
3个回答
展开全部
Runtime.getRuntime().exec("\"C:\\Documents and Settings\\Administrator\\桌面\\系统详细设计说明书.doc\"");
这样应该就可以了..... 参数里的字符串就是在CMD窗口运行的命令,你可以直接在CMD窗口试试...
------------
Runtime.getRuntime().exec("cmd /c \"C:\\Documents and Settings\\Administrator\\桌面\\系统详细设计说明书.doc\"");这句可以了,我试过了..因为你的文件路径中有空格,在CMD中直接运行也是报错的.所以整个路径要加上双引号....
这样应该就可以了..... 参数里的字符串就是在CMD窗口运行的命令,你可以直接在CMD窗口试试...
------------
Runtime.getRuntime().exec("cmd /c \"C:\\Documents and Settings\\Administrator\\桌面\\系统详细设计说明书.doc\"");这句可以了,我试过了..因为你的文件路径中有空格,在CMD中直接运行也是报错的.所以整个路径要加上双引号....
展开全部
空格问题
需要在空格的前后加上双引号,而不是在整个路径的前后加双引号,如下:
runtime.getruntime().exec("cmd.exe
/c
d:\\program\"
\"files\\tece2.1\\tececode\\updateprogram\\updateprogram.exe");
按这个改下试试
需要在空格的前后加上双引号,而不是在整个路径的前后加双引号,如下:
runtime.getruntime().exec("cmd.exe
/c
d:\\program\"
\"files\\tece2.1\\tececode\\updateprogram\\updateprogram.exe");
按这个改下试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实就是中文错误,还有 runtime只支持单句命令
你把代码拆分来写就可以了用OutputStream 输入命令
你把代码拆分来写就可以了用OutputStream 输入命令
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询