Rue*_*gen 0 ruby file-io ruby-on-rails stream
rails 有没有办法实现像 Node js 这样的读取流来读取文件?
IE
fs.createReadStream(__dirname + '/data.txt');
Run Code Online (Sandbox Code Playgroud)
相对于
fs.readFile(__dirname + '/data.txt');
Run Code Online (Sandbox Code Playgroud)
我在哪里看到红宝石有
file = File.new("data.txt")
Run Code Online (Sandbox Code Playgroud)
我不确定 ruby/rails 中用于创建流的等效项,并且想知道这是否可行。我要求的原因是内存管理,因为流将作为与整个文件相关的一块一块地交付。
如果您想逐个读取 Ruby 中的文件,有许多方法可供您使用。
IO#each_line/ IO::foreach,也实现了File迭代文件的每一行。既不将整个文件读入内存;相反,两者都只是简单地读到下一个换行符,返回并暂停阅读,除非有可能的缓冲区。IO#read/IO::read接受一个length参数,它允许您指定它length从文件中读取最多字节。这只会读取那么多,而不是全部。IO::binread与 相同IO::read,但将以二进制模式打开文件。IO#readpartial看起来与 非常相似或相同IO#read,但也值得一看。IO#getcIO#gets据我所知,两者都从文件中读取,直到到达返回内容的末尾。我现在正在寻找更多的东西。
| 归档时间: |
|
| 查看次数: |
2002 次 |
| 最近记录: |