为什么java的RandomAccessFile不能在linux上返回?

时间:2015-08-11 19:18:53

标签: java linux named-pipes

我是java的新手并且正在尝试使用RandomAccessFile读取和写入命名管道(在另一个本机C ++进程中创建)。这是我的代码: -

String input_pipe = "/home/user/some_pipe";
try {
  System.out.println("here1");
  RandomAccessFile inp_pipe = new RandomAccessFile(input_pipe, "r");
  System.out.println("here2");
} catch (Exception exp) {
  System.out.println("Some error opening pipe :- " + exp.getMessage());
}

当我运行此代码时,输​​出的所有内容都是: -

here1

这个过程并没有回归。关于我做错了什么或我如何调试它的任何提示?

1 个答案:

答案 0 :(得分:0)

由于没有一个评论者选择写答案,我会自己写一个。

问题是在linux上打开命名管道会阻塞,直到管道的另一端也被打开。您可以在非阻塞模式下打开它,也可以立即打开管道的两端。