----java中使用命令行的问题-------

HappyStudyhzl 2004-08-26 09:56:54
.java文件
public static void main(String[] args)
{
String commandArgs ="cmd /c e:\\MyTest\\test.c 10";
Untitled1 untitled11 = new Untitled1();
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(commandArgs);
}

test.c文件:
void main(int i)
{
printf("%d",i);
}
我的问题是:当在java中使用命令行执行test.c文件时,怎样能将错就错10 传递给 i ??
请高手指教!!!!!!!
...全文
135 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
射天狼 2004-08-26
  • 打赏
  • 举报
回复
UP
registered 2004-08-26
  • 打赏
  • 举报
回复
其实默认已经传过去了, 只不过你看不见
不过 main() 退出后此进程也就完结了
如果想要保留此进程需要另开一条线程
如果非要能看见的可以这样做
Process p = Runtime.getRuntime()
.exec("cmd.exe /c start cmd.exe /k MyExe.exe MyArg");
或者 "cmd.exe /c start MyExe.exe MyArg");
但是这样 Process 指向是 cmd.exe 跟 MyExe.exe 没有关系
等 cmd.exe 退出以后 MyExe.exe 就和这个 java 程序没有关系了
除非 MyExe.exe 运行完退出, 或者你用 TaskManager 强制结束
bluesky35 2004-08-26
  • 打赏
  • 举报
回复
你可以把java代码换成bat,这里要用java传有点牵强.
HappyStudyhzl 2004-08-26
  • 打赏
  • 举报
回复
我也是随便举了个例子,我的意思就是我要案执行的文件(.exe等可执行文件)中需要一个参数,我怎样竟这个参数通过命令行传递过去?请大家帮忙!!!!
registered 2004-08-26
  • 打赏
  • 举报
回复
实在不明白你想实现什么功能
能不能说的详细点?
casinosun 2004-08-26
  • 打赏
  • 举报
回复
runtime.exec()执行的是exe。bat文件吧
HITZXL 2004-08-26
  • 打赏
  • 举报
回复
拜托,用java这样执行c语言文件,没见过
Debian 2004-08-26
  • 打赏
  • 举报
回复
拜托,test.c是这么执行的吗?
layueer 2004-08-26
  • 打赏
  • 举报
回复
狂晕之后再狂晕
registered 2004-08-26
  • 打赏
  • 举报
回复
可能是路径的问题
你应该保证 1.rb 和 2.rb 都在 Path 里面
HappyStudyhzl 2004-08-26
  • 打赏
  • 举报
回复
To: registered(已注册)
String commandArgs ="cmd /c d:\\1.rb param";
Process process = runtime.exec(commandArgs);

说明:1.rb 是我要在java中运行的外部程序,(该文件是可执行的)param是传递给该文件的参数.
用上面的方法1.rb 是可以执行的,没有问题.
但现在问题是:
当1.rb 中调用到其它文件时比如说 2.rb (就如同C里面的include"file.c"),这个时候就会出错,说无法加载歌载 2.rb 文件.请问这个问题应该如何解决啊??请多帮忙!!!!!

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧