ruby では、ファイルを生成するローカル コマンドを実行し、ファイルの内容を読み取って変更したいと考えています。
しかし、私は常にnullになります。
これはコードです:
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
しかし、何も変わっていません。まだコンテンツを取得できません。
何が問題ですか?