java 调用exe 需要给exe传参数

Processproc=rt.exec("gccC:\\test.c-oC:\\test");proc=rt.exec("C:\\test.exe");test.exe要... Process proc =rt.exec("gcc C:\\test.c -o C:\\test");
proc=rt.exec("C:\\test.exe");
test.exe要输入一个数,然后输出这个数。
这个数要从文件里输入。怎么弄?然后把输出地结果,保存到.txt文件夹里。大概就这样子的。
展开
 我来答
uhou_yz
2012-05-27
知道答主
回答量:23
采纳率:0%
帮助的人:22.2万
展开全部
public class Test {
public static void main(String[] args) throws IOException {
try {
// String[] cmds = {"cmd.exe","/c"," dir","c:",">","d://aa.txt"};
// Process pro = Runtime.getRuntime().exec(cmds);
Process pro = Runtime.getRuntime().exec("cmd.exe /c dir c: > d://aa.txt");

BufferedReader br = new BufferedReader(new InputStreamReader(pro.getInputStream(),"GBK"));
String msg = null;
while ((msg = br.readLine()) != null) {
System.out.println(msg);
}
} catch (IOException exception) {
}
}
}

执行完成之后 会在d://下面生成一个aa.txt文件 里面保存了 dir的结果 其中 > 是 重定向 意思是讲执行结果从定向到 d://aa.txt
希望对你有帮助
追问
谢谢你的回答   程序始终运行不过去  该怎么办呢?还有就是我的exe程序的功能是a+b =c
所以我需要从1.in文本中自动获取两个数a b 然后给exe执行 结果c 保存到d盘中的txt中

你的代码中好像没有a.b的来源?dir是什么?如何解决呢?希望不吝赐教
追答
你可以把文件读出来 然后赋值给    a  b   
Integer a = 1 ;
Integer b = 2 ;
String[] cmds = {"cmd.exe","/c"," C:\\test.exe",a.toString(),b.toString(),">","d://aa.txt"};
你看这样行不 ? 在cmd 里面调用 test.exe DIR是DOS操作系统用来查看磁盘中文件的命令
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式