Answers:
open-uri是标准Ruby库的一部分,它将重新定义行为,open
以便您可以打开url和本地文件。它返回一个File
对象,因此您应该能够调用诸如read
和之类的方法readlines
。
require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
web_contents = open('http://www.stackoverflow.com') {|f| f.read }
content = open("http://example.com").read
open-uri
不会流式传输文件,因此您无法读取文件的前4k。打开时open-uri
将读取整个文件到内存中。
URI.parse('http://www.stackoverflow.com').open { |f| f.read }
如果您正在寻找一种确保不会致电的方法Kernal.open
。还绕过了rubocop安全规则。