0

我需要从 java 运行时调用 (j)ruby 脚本,并且我想将输入流作为参数传递。

在 ruby​​ 方面,我使用 to_io 来转换输入流

io = my_stream.to_io

我收到这些错误:

org.jruby.exceptions.RaiseException: (Errno::ESPIPE) Illegal seek
at org.jruby.RubyIO.pos(org/jruby/RubyIO.java:1602) ~[jruby-core-1.7.4.jar:na]

问题是,是否有更好的选择将输入流转换为支持 pos 和 seek 的 io?

4

1 回答 1

1

您的流作为管道进入,并且不可搜索。由于 seek 和 pos 在管道上无法正常工作,因此您必须从管道中读取。

io_stream.read(number_of_bytes)

于 2013-10-22T18:26:53.367 回答