我在ruby中创建了一个文件,并在其中保存了一些哈希值。当我读到文件时,我没有。这是代码:
my_hash = Hash.new
file = File.open("my_file.json", "w")
my_hash["test_key"] = "0.1"
file.write(my_hash.to_json)
file_read = File.read("my_file.json")
p file_read // This prints nil
当我打开文件时,我会看到{"test_key":"0.1"}
我在这里错过了什么吗?
答案 0 :(得分:2)
写入文件后,您没有关闭该文件,因此,当您尝试从文件中读取文件时,操作系统最有可能尚未将待处理的IO刷新到文件中。就操作系统而言,该文件尚不存在。
答案 1 :(得分:1)
完成写作后关闭文件:
my_hash = Hash.new
file = File.open("my_file.json", "w")
my_hash["test_key"] = "0.1"
file.write(my_hash.to_json)
file.close # close after writing
file_read = File.read("my_file.json")
p file_read