08/03/04 07:36:00
>>191
File.rename使って色々やってみたんですが
やはり上手く行かなくて…
>>199
> File.open('data.dat','w') の時点でファイルの内容がクリアされてしまっている。
それはそうですね、確かに。
ちなみに、以下のコードみたいにする事で、だいぶ頑丈になりました!
#Read
File.open(path, 'r'){|f|
f.flock(File::LOCK_SH)
data = f.read
}
#Write
File.open(path, File::WRONLY | File::CREAT){|f|
f.flock(File::LOCK_EX)
f.rewind
f.write(data)
f.truncate(f.tell)
}
#Append
File.open(path, 'a'){|f|
f.flock(File::LOCK_EX)
f.seek(0, File::SEEK_END)
f.write(data)
}