删除文件中的所有内容

删除文件中的所有内容

问题描述:

我想从文件列表中删除内容。删除文件中的所有内容

编辑:

我有文件列表。

文件1 文件2 文件3

包含一堆线这些文件...

我想删除每个文件中的所有行。

+1

你的具体问题是什么? – 2010-09-28 18:44:25

+0

@Timo。这听起来像他有一个文件列表,他想删除/删除他们的内容。第一次修订清楚地表明了这一点。如果他在这里发帖,他可能想知道如何实现。不是所有人都能说流利的英语。 – z5h 2010-09-28 18:51:58

看起来像你需要截断文件。 这样做:

File.open('/tmp/file', 'w') {|file| file.truncate(0) } 
+11

'File.open('/ tmp/file','w'){}'应该足够了。 – 2010-09-28 19:17:23

+16

'truncate'也可以作为类方法使用,不需要显式地打开文件:'File.truncate('/ path/to/file',0)'。但请注意,这被记录为“不适用于所有平台”。 (通常意味着POSIX,即没有JRuby,没有IronRuby,没有Windows。) – 2010-09-28 19:39:13

要截断文件:

File.truncate('/path/to/file', 0) 

要截断的文件列表:

[file1, file2, file3].each { |file| File.truncate(file, 0) } 

由于截断并不适用于所有平台上,使用f = open('filename', File::TRUNC) {}