服务器和客户端的eclipse单一控制台

时间:2010-04-25 09:17:10

标签: java console eclipse-plugin

我正在使用Java套接字(在Windows XP中)构建客户端服务器应用程序。 为此,我需要为客户端和服务器提供不同的控制台(用于输入和输出操作)。但是在eclipse中它们共享一个控制台。是否有任何插件或某种欺骗我可以做到这一点。

谷歌搜索后我得到了这个,

http://dev.eclipse.org/newslists/news.eclipse.newcomer/msg17138.html

但是,这似乎只适用于写操作,而不是读操作。

另外,我尝试了以下手动启动应用程序, 但即使这不起作用........

package mypack;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;


public class MySystem {

    public static void changeStream(String mainFile) throws IOException{

        File temp = new File(".") ;
        String parentPath = temp.getCanonicalPath() ;

        System.out.println(parentPath);

        //creation of batch file starts here
        try{
            File f = new File(parentPath + "\\a.bat") ;
            System.out.println("Created : " + f.createNewFile());
            //f.deleteOnExit() ;

            FileOutputStream fos = new FileOutputStream(f) ;

            String str = "java " + mainFile ;
            String batchCommand="@echo off\n"+str+"\npause\nexit";

            char arr[] = batchCommand.toCharArray() ;
            System.out.println(str) ;
            for(int i = 0 ; i < arr.length ; i++){
                fos.write(arr[i]) ;
            }
            fos.close() ;
        }
        catch(Exception e){
        }
        //creation of batch file ends here

        //execution of batch file starts here                           
        try{
            Runtime r = Runtime.getRuntime() ;

            System.out.println(parentPath + "\\a.bat") ;

            Process p = r.exec(new String[]{"cmd","/k","start a.bat"},null,new File(parentPath)) ;

            OutputStream os = (OutputStream)p.getOutputStream() ;
            System.setOut( new PrintStream(os) ) ;

            System.out.println("Hello");

        }
        catch(Exception e){
            e.printStackTrace();
        }
        //execution of batch file ends here
    }

    public static void main(String[] args) throws IOException {
        MySystem.changeStream("MySystem") ;
    }
}


Ok Guyz,以前我不知道eclipse中有多个控制台可用。 但是现在我从here得到了这个,这就是关闭这个帖子的原因。干杯:)

1 个答案:

答案 0 :(得分:0)

我发现你可以通过在Eclipse中单独启动来实现这一点(所以你需要首先启动你的服务器,然后启动你的客户端。)

不幸的是,每个控制台都是Console视图中的一个窗格,而不是它自己的控制台,所以你必须手动切换,但这是我迄今为止发现的最好的。