2012-02-03 98 views
0

我需要一種從文件中讀取數據的方式,但每次都要從磁盤上重新載入數據。如何做到這一點,每次都使用File.reopen無緩衝讀取文件 - Ruby

回答

1

你可以使用IO#rewind

fp = File.open('pancakes.txt') 
s = fp.read 
# Something changes the first part pancakes.txt... 
fp.rewind 
s = fp.read # This reads again from the beginning 

這並不當然需要搜索文件,但如果你使用普通的磁盤文件不應該是一個問題。

+0

這將重新加載磁盤上的內容?該文件將被其他進程修改,並且每次我讀取時,都需要最新的數據。 – Linuxios 2012-02-03 04:38:31

+0

@ Linux_iOS.rb.cpp.c.lisp.m.sh:是的,它將讀指針移回到開頭,並再次啓動文件中的任何內容。你可以試試'irb',你會看到。 – 2012-02-03 04:43:09

+0

太好了。謝謝!我接受它。 – Linuxios 2012-02-03 04:44:10