gpt4 book ai didi

在 native 代码中创建的未命名管道的 Java 输入/输出流?

转载 作者:行者123 更新时间:2023-11-29 06:21:10 25 4
gpt4 key购买 nike

有没有一种方法可以轻松地为在 native 代码中创建的未命名管道创建 Java 输入/输出流?

动机:我需要自己实现 Process 类。 native 代码为我生成了一个新进程,其中子进程的 IO 流被重定向到未命名的管道。

问题:这些管道正确末端的文件描述符进入 Java。在这一点上,我被卡住了,因为我无法创建可以传递给 FileInput/FileOutput 流的新 FileDescriptor。

我已经使用反射来解决这个问题,并与一个正在运行的简单保镖子进程进行了通信。但是我认为这不是最干净的方法。你用过这种方法吗?您认为这种方法有什么问题吗? (平台永远不会改变)

在互联网上搜索发现使用 native 代码的类似解决方案。

在我深入测试这种方法之前的任何想法都非常受欢迎。 在编写我自己的 IO 流实现之前,我想尝试一下现有代码...

谢谢。

最佳答案

这个我也遇到过。我知道创建 FileDescriptor 对象的唯一方法是使用反射(或从 JNI)在 FileDescriptor 类中设置私有(private)“int”字段。

但这工作正常,并且肯定是标准库中其他地方的做法,所以我相信它和您期望的一样合法。

关于在 native 代码中创建的未命名管道的 Java 输入/输出流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2991714/

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