我需要从java运行时调用(j)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?
答案 0 :(得分:1)
您的信息流是以管道形式进入的,而且不可搜索。由于seek和pos在管道上无法正常工作,因此必须从管道中读取。
io_stream.read(number_of_bytes)