从控制台复制内容 [已关闭]

copy the content form the console [closed]

提问人:Anime King 提问时间:11/18/2023 更新时间:11/18/2023 访问量:27

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

昨天关闭。

我正在编写服务器和客户端 java 程序,需要将数据从客户端传输到服务器。我做了一些方法,将输出显示给客户端。但是我需要从控制台复制内容,无论它是什么并存储为字符串,并使用 java 将字符串传递给我的服务器程序

帮助我解决我的问题

爪哇岛

评论

0赞 ControlAltDel 11/18/2023
这实际上是重复的。查看 stackoverflow.com/questions/3228427/redirect-system-out-println
0赞 ControlAltDel 11/18/2023
你只需要保存旧的 System.out / System.err 流,并用你创建的流覆盖它们

答:

0赞 ControlAltDel 11/18/2023 #1

从本质上讲,你是这样做的:

public class MyOutputStream extends PrintStream {
  PrintStream stream;
  public MyOutputStream(PrintStream consoleStream) {
    stream = consoleStream;
  }

  public void println(String s) {
    consoleStream.println(s);
    // send to server
  }
}

System.setOut(new MyPrintStream(System.out));
// same for System.err

可能还有更多的事情要做(比如覆盖打印),但本质上这就是你做的方式。