在 ruby 中,我想执行一些将生成文件的本地命令,然后我想读取文件的内容并对其进行修改。
但是我总是得到空值。
这是代码:
exec "java -jar xx.jar --output main.txt";
content=IO.read('main.txt');
content="somethinkg:"+content;
File.open('main.txt','w') do |f|
f.puts content
end
main.txt 已生成,但我无法修改内容。
然后我认为可能是线程引起的,在main.txt
读取时,java命令不完整,所以内容为空。
然后我尝试了这个:
t=Thread.new do
exec "java -jar xx.jar --output main.txt";
end
t.join
content=IO.read('main.txt');
puts content
content="somethinkg:"+content;
File.open('main.txt','w') do |f|
f.puts content
end
但是没有任何改变,我仍然无法获得内容。
问题是什么?