Java eclipse中针对服务器和客户端的单一控制台

Java eclipse中针对服务器和客户端的单一控制台,java,console,eclipse-plugin,Java,Console,Eclipse Plugin,我正在使用Java套接字(在Windows XP中)构建客户机-服务器应用程序。 为此,我需要为客户端和服务器提供不同的控制台(用于输入和输出操作)。但在eclipse中,两者都共享一个控制台。是否有任何插件或某种欺骗,通过它我可以做到这一点 谷歌搜索后我得到了这个 但是,这似乎只适用于写操作,而不是读操作 另外,我尝试了以下方法手动启动应用程序, 但即使这样也不起作用 package mypack; import java.io.BufferedOutputStream; import ja

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

谷歌搜索后我得到了这个

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

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

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") ;
    }
}
包mypack;
导入java.io.BufferedOutputStream;
导入java.io.File;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.OutputStream;
导入java.io.PrintStream;
公共类MySystem{
公共静态void changeStream(字符串mainFile)引发IOException{
文件温度=新文件(“.”);
字符串parentPath=temp.getCanonicalPath();
System.out.println(父路径);
//批处理文件的创建从这里开始
试一试{
文件f=新文件(parentPath+“\\a.bat”);
System.out.println(“创建:+f.createNewFile());
//f、 deleteOnExit();
FileOutputStream fos=新的FileOutputStream(f);
String str=“java”+main文件;
String batchCommand=“@echo off\n”+str+“\n使用\nexit”;
char arr[]=batchCommand.toCharArray();
系统输出打印项次(str);
对于(int i=0;i


好的,伙计,之前我不知道eclipse中有多个控制台。
但是现在我从中得到了这个,这就是为什么要关闭这个线程。干杯:)

我只发现在Eclipse中单独启动可以做到这一点(因此您需要先启动服务器,然后启动客户端)


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

在谷歌搜索时,我还得到了以下信息:-和谷歌搜索时。。。。。