Pul*_*nda 7 java user-interface inputstream outputstream minecraft
我正在尝试设置一个Minecraft服务器,以获得乐趣,并希望添加一个控制面板,以便更轻松地管理它.此控制面板的一部分是从面板运行服务器以减少错过单击退出按钮和什么不是.(minecraft服务器是一个不可运行的.jar文件,暗示你必须让.bat从命令行运行它.)我知道如何在我的程序中运行服务器,以及打印输出,这里:
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "gscale.jar");
pb.redirectErrorStream(true);
pb.directory(new File("F:\\Documents and Settings\\Administrator\\Desktop"));
System.out.println("Directory: " + pb.directory().getAbsolutePath());
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
for (String line = br.readLine(); line != null; line = br.readLine()) {
System.out.println( line ); // Or just ignore it
}
p.waitFor();
Run Code Online (Sandbox Code Playgroud)
但是,有了这个,我不确定如何实现输入法.例如,如果我单击一个按钮,它会将输入"stop"发送到外部jar以停止服务器,就像没有此命令面板一样.我该如何实现呢?上面的代码我计划在它自己的线程中运行,但也许我这样做是错的?
提前致谢!
看起来Process
该类具有getOutputStream()
方法。您可以尝试这样的事情:
OutputStream os = p.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
bw.write("stop");
bw.newLine();
bw.flush();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1038 次 |
最近记录: |