簡體   English   中英

如何使用Java在Linux中讀取命名管道(FIFO)

[英]How to read named pipe(FIFO) that in linux using java

我有一個問題,我必須從管道讀取流數據,用C編寫的應用程序會將數據寫入該管道。 用Java編寫的另一個應用程序必須從此linux管道讀取。 此Java程序是一個多線程程序,用於在其他程序向其中寫入數據時從該管道讀取數據。 並且應該不斷從管道讀取數據,因為數據已添加到管道隊列中。 任何的意見都將會有幫助。

嘗試解決的問題是:

當前,一個應用程序(用C語言編寫)連續實時地將文件創建到目錄中,而另一個應用程序(用Java語言編寫)讀取並處理這些文件。 在這種方法中,由於要從不同目錄中寫入文件並從中讀取文件,因此會存在一些時間延遲,使用Linux管道進行跳躍可以幫助減少該時間延遲。 還有其他更好的方法來處理連續的大量數據嗎?

我用谷歌搜索了一些示例示例,以使用多線程Java程序讀取fifo。 我找不到任何合適的示例,如果您遇到任何此類示例,請分享。

如果創建FIFO文件,則實際上不會寫入磁盤,它只是文件系統中的一個文件,以使其易於訪問。 您可以在fifo(7)( man 7 fifo )的手冊頁上閱讀有關FIFO的信息,並在mkfifo(1)( man 1 mkfifo )上獲取在C中制作它們的命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM