Ruby on Rails 是否有文件的读取流



rails有没有办法实现像Node js这样的读取流来读取文件?

fs.createReadStream(__dirname + '/data.txt');

如附

fs.readFile(__dirname + '/data.txt');

我看到红宝石的地方有

file = File.new("data.txt")

我不确定用于创建流的 ruby/rails 中的等效项,并想知道这是否可能。我问的原因是内存管理,因为流将作为附加到一个完整文件时逐个交付。

如果你想逐

个读取 Ruby 中的文件,有很多方法可供你使用。

  • IO#each_line/IO::foreach ,也在 File 中实现以迭代文件的每一行。两者都不会将整个文件读入内存;相反,两者都只是读取直到下一个换行符、返回和暂停读取,除非可能的缓冲区。
  • IO#read/IO::read 采用一个 length 参数,该参数允许您指定它从文件中读取最多 length 个字节。这只会阅读那么多,而不是全部。
  • IO::binreadIO::read 相同,但将以二进制模式打开文件。
  • IO#readpartial看起来与IO#read非常相似或相同,但也值得一看。
  • 据我所知,IO#getcIO#gets都从文件中读取,直到它们到达它们将返回的内容的末尾。

我现在正在寻找更多。

相关内容

  • 没有找到相关文章

最新更新