Java eclipse中针对服务器和客户端的单一控制台
我正在使用Java套接字(在Windows XP中)构建客户机-服务器应用程序。 为此,我需要为客户端和服务器提供不同的控制台(用于输入和输出操作)。但在eclipse中,两者都共享一个控制台。是否有任何插件或某种欺骗,通过它我可以做到这一点 谷歌搜索后我得到了这个 但是,这似乎只适用于写操作,而不是读操作 另外,我尝试了以下方法手动启动应用程序, 但即使这样也不起作用Java eclipse中针对服务器和客户端的单一控制台,java,console,eclipse-plugin,Java,Console,Eclipse Plugin,我正在使用Java套接字(在Windows XP中)构建客户机-服务器应用程序。 为此,我需要为客户端和服务器提供不同的控制台(用于输入和输出操作)。但在eclipse中,两者都共享一个控制台。是否有任何插件或某种欺骗,通过它我可以做到这一点 谷歌搜索后我得到了这个 但是,这似乎只适用于写操作,而不是读操作 另外,我尝试了以下方法手动启动应用程序, 但即使这样也不起作用 package mypack; import java.io.BufferedOutputStream; import ja
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中单独启动可以做到这一点(因此您需要先启动服务器,然后启动客户端)
不幸的是,在控制台视图中,每个控制台都是一个窗格,而不是它自己的控制台,因此您必须手动切换,但这是迄今为止我发现的最好的控制台。在谷歌搜索时,我还得到了以下信息:-和谷歌搜索时。。。。。