gpt4 book ai didi

java - 您可以将 system.in 、 system.out 和 system.err 重新映射到 Java 线程吗?

转载 作者:行者123 更新时间:2023-12-02 08:23:40 27 4
gpt4 key购买 nike

我有一些旧的 C++ 代码,它们使用 stdio 进行输入和输出。该代码还通过 fork 生成新进程。它将 stdio 重新映射到每个新进程,以便每个 session 获取其各自的数据。

我正在考虑使用 Java 中的线程来创建子进程。但是,当涉及到如何将 System.inSystem.outSystem.err 重新映射到子线程时,我陷入了困境关于创作。

如果可能的话,有人能给我指出正确的方向吗?

最佳答案

简单的答案不是不将代码编写为直接访问 System.out/in/err。相反,有一个 InputStream和两个OutputStream s 传递给对象的构造函数。然后,该对象直接与这些对象一起工作,而不依赖于它们实际映射到的内容。访问print()println() ,您将通过OutputStream进入 PrintStream 的构造函数.

然后根据您实际想要执行的操作,您可以使用 System.out 或某些 FileOutputStream 调用构造函数。 .

关于java - 您可以将 system.in 、 system.out 和 system.err 重新映射到 Java 线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985276/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com