在Ruby中创建一个空文件:“触摸”等效?

时间:2011-11-11 22:09:53

标签: ruby file

在Ruby中创建空文件的最佳方法是什么?

与Unix命令touch类似的东西:

touch file.txt

5 个答案:

答案 0 :(得分:170)

FileUtils.touch看起来像它的作用,并镜像 * touch命令:

require 'fileutils'
FileUtils.touch('file.txt')

*与touch(1)不同,您无法单独更新mtime或atime。它也缺少其他一些不错的选择。

答案 1 :(得分:40)

如果您担心文件句柄:

File.open("foo.txt", "w") {}

来自docs

  

如果给出了可选的代码块,它将传递打开的文件   作为参数,File对象将在以后自动关闭   该块终止。

答案 2 :(得分:20)

在Ruby 1.9.3+中,您可以使用File.write(a.k.a IO.write):

File.write("foo.txt", "")

对于早期版本,require "backports/1.9.3/file/write"或使用File.open("foo.txt", "w") {}

答案 3 :(得分:2)

而且,不太有利,但非常简短:

`touch file.txt`

答案 4 :(得分:-1)

只是一个例子:

File.open "foo.txt", "w"