0

我想用java编写一个管理器程序,它将执行ac程序并可以读取它的输入流并写入输出流。

客户端将请求 c exe 然后服务器将处理它的请求,如下所示:

  1. 经理程序将执行。
  2. 它将执行 ac 程序。
  3. 可以将c程序的输出发送到浏览器。(输入流)。
  4. 应该能够接受来自浏览器的输入并提供给 c 程序。

我曾尝试使用运行时和进程执行 c 代码。但它给出了例外

---------------------------
16 bit MS-DOS Subsystem
---------------------------
Error while setting up environment for the application. Choose 'Close' to terminate the application.
---------------------------
Close   
---------------------------

帮助?

代码:导入 java.io.*;

class Dev
{
public static void main(String args[])
{
    try
    {
        Process p = Runtime.getRuntime().exec("dev.exe");
        InputStream is = p.getInputStream();
        // from her i'll do the stuff but it gives error.

    }
    catch(Exception e)
    {
        System.out.print("\n\n\t Error : "+e);
    }
}
}
4

1 回答 1

1

Runnable您可以通过创建一个实现的类,然后将其传递给它来执行程序Process,这在此答案中进行了描述。那里的答案还描述了如何在InputStream. 至于传入一些输入,这可以通过在命令行中传递一个字符串来完成。在该Process答案的制作线上,您可以添加:

//...
String someInput, command; // Set these to the appropriate values.
Process p = Runtime.getRuntime().exec("echo \"" + someInput + "\"|" + command);
//...

这将通过管道someInput传递 to的值command。这是基于命令行的,并且在技术上是特定于平台的,但应该可以在 Linux、OS X 和 Windows 上运行而无需更改。

于 2012-07-30T13:22:07.740 回答