我正在尝试创建一个新文件,事情似乎并不像我期望的那样工作。以下是我的尝试:
File.new "out.txt"
File.open "out.txt"
File.new "out.txt","w"
File.open "out.txt","w"
根据我在网上读到的所有东西,所有这些都应该有用,但每一个都给了我这个:
ERRNO::ENOENT: No such file or directory - out.txt
这可以从IRB和Ruby脚本中实现。我错过了什么?
我正在尝试创建一个新文件,事情似乎并不像我期望的那样工作。以下是我的尝试:
File.new "out.txt"
File.open "out.txt"
File.new "out.txt","w"
File.open "out.txt","w"
根据我在网上读到的所有东西,所有这些都应该有用,但每一个都给了我这个:
ERRNO::ENOENT: No such file or directory - out.txt
这可以从IRB和Ruby脚本中实现。我错过了什么?
当前回答
如果目标只是创建一个文件,我认为最直接的方法是:
FileUtils.touch "foobar.txt"
其他回答
如果目标只是创建一个文件,我认为最直接的方法是:
FileUtils.touch "foobar.txt"
Try
File.open("out.txt", "w") do |f|
f.write(data_you_want_to_write)
end
不使用
File.new "out.txt"
目录不存在。确保它以开放的方式存在不会给你带来脏东西。
我之前也碰到过这种事。
data = 'data you want inside the file'.
您可以使用File。写入('文件名在这里',数据)
试着用“w+”而不是“w”作为写模式:
File.open("out.txt", "w+") { |file| file.write("boo!") }