2012-02-03 60 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