2014-09-04 97 views
-2

我在eclipse中做了一个项目。它将通过本地套接字接收字符串Left,Right或Center。它成功地收到了其中一个字符串,但我不知道如何指导程序接下来要做什么。如何在eclipse中自动运行cmd.exe

我打算接收到的字符串的内容比较,并自动cmd.exe的

while (true) { 
     try { 
      socket = serverSocket.accept(); 
      dataInputStream = new DataInputStream(socket.getInputStream()); 
      dataOutputStream = new DataOutputStream(
        socket.getOutputStream()); 
      System.out.println("ip: " + socket.getInetAddress()); 
      System.out.println("message: " + dataInputStream.readUTF()); //receives the string 


      /*if (dataInputStream.readUTF()=="Center") 
      * { 
      * //open cmd.exe 
      * } 
      */ 

      dataOutputStream.writeUTF("Hello!"); 

运行我的项目的副本可在https://www.dropbox.com/sh/xswz5qzcewee4ko/AACo8VZ_Iu0kFhn63kepOXlta?dl=0

发现我真的很感激任何建议,你可能想要给。

+2

请提供有关项目的更多细节。人们不会下载你的代码来理解你想要做什么。打开cmd.exe意味着什么?你的意思是打开电脑上的窗口cmd.exe?这里有很多事情要考虑。你不能期望命令行窗口出现在屏幕上。如果你没有使用图形环境运行Windows,该怎么办? – Bren 2014-09-04 02:55:51

+0

也谢谢你。下一次通过标准和这一点来做。 – ian 2014-09-04 15:01:58

回答

0

使用运行时API可以调用cmd.exe。请考虑最适合您的选项。

这将会从Java

Process p=Runtime.getRuntime().exec("cmd /c dir"); 

这运行的命令将打开cmd窗口从Java代码

Runtime.getRuntime().exec(new String[]{"cmd.exe","/c","start"}); 
+0

java.lang.ProcessBuilder是另一种选择。 – jch 2014-09-04 03:45:37

+1

这是我缺乏的一个!非常感谢你。 – ian 2014-09-04 14:58:19