如何使用java读取Linux中的命名管道(FIFO)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (453)

我必须从管道读取流数据,用C编写的应用程序写入数据。用java编写的另一个应用程序必须从这个linux管道读取。这个java程序是一个多线程程序,用于在其他程序将数据写入其中时从该管道读取数据。它应该是连续读取管道,因为数据被添加到管道队列中。任何的意见都将会有帮助。

试图解决的问题是:

目前,一个应用程序(在C中)实时创建文件到目录,另一个应用程序(在Java中)读取和处理这些文件。在这种方法中,由于从不同目录中写入和读取文件会有一些时间延迟,希望使用Linux管道可以帮助减少时间延迟。还有其他更好的方法来处理连续的大量数据吗?

提问于
用户回答回答于

如果你创建一个FIFO文件,你实际上不会写入磁盘,只是文件系统中的一个文件,以便于访问,可以在fifo(7)(man 7 fifo)的手册页上阅读有关FIFO和mkfifo(1)(man 1 mkfifo)的信息,以获取在C中制作它们的命令。

扫码关注云+社区

领取腾讯云代金券