Есть ли способ легко создавать потоки ввода / вывода Java для безымянных каналов, созданных в собственном коде?
Мотивация : Мне нужна собственная реализация класса Process. Нативный код порождает мне новый процесс с потоками ввода-вывода подпроцесса, перенаправленными на неназванные каналы.
Проблема : дескрипторы файлов для правильных концов этих каналов попадают в Java. В этот момент я застреваю, так как не могу создать новый FileDescriptor, который мог бы передать потоку FileInput / FileOutput.
Я использовал рефлексию, чтобы обойти проблему и установил связь с простым подпроцессором подпрыгивания. Однако у меня есть представление, что это не самый чистый путь. Вы использовали этот подход? Видите ли вы какие-либо проблемы с этим подходом? (платформа никогда не изменится)
Поиск в интернете показал похожее решение с использованием нативного кода.
Любые мысли, прежде чем я углублюсь в тяжелые испытания этого подхода, очень приветствуются. Я хотел бы дать представление о существующем коде, прежде чем писать собственные реализации потоков ввода-вывода ...
Спасибо.