Ruby创建文件夹,文件,以及将结果输入到改文件中

Python031

Ruby创建文件夹,文件,以及将结果输入到改文件中,第1张

类方法File.new,它是File对象的一个实例,将它打开文件。第一个参数自然是文件名。

可选的第二个参数被称为模式字符串,它告诉如何打开文件(用于读,写或其它)。模式字符串不做任何事情,它只是个许可。缺省值"r"用于读。这儿是个例子:

file1 = File.new("one")

# Open for reading

file2 = File.new("two", "w")

# Open for writing

new的另一种形式接受三个参数。在这种情况,第二个参数指出文件的原始许可(通常是八进制常量),第三个参数是一组Ored标志。标志是个常量如File:CREAT(当打开时,如果文件不存在则创建它)和File:RDONLY(以只读方式打开文件)。这种形式很少使用。这儿是个例子:

file = File.new("three", 0755, File::CREAT|File::WRONLY)

出于对操作系统或运行时环境的礼貌,总是要关闭你打开的文件。在用于写而打开文件情况下,更应如此才能避免丢失数据。不出意外,close方法用于做到点:

out = File.new("captains.log", "w")

# 必须的步骤...

out.close

这儿是open方法,它简单形式内,它不过是new的同义字,像这样:

trans = File.open("transactions","w")

但是,open可以接受块;这个形式更有趣。当指定块时,打开的文件会被做为参数传递给块。在块的作用域内文件一直保持打开状态,在退出块时自动关闭。这儿是个例子:

File.open("somefile","w") do |file|

file.puts "Line 1"

file.puts "Line 2"

file.puts "Third and final line"

end

# The file is now closed

当我们结束对文件的操作时,很明显这是关闭文件的优雅方式。此外,管理文件的代码在视觉上是个单元。

#encoding:gbk

df='d:/deletedfile/20121123141928/deletefiles.txt'

file=File.new(df)

while line=file.gets

Dir.mkdir line.to_s

end

file.close

########################################

运行虽无报错,但程序。。。

###############我改进一下##############

#encoding: utf-8

df='d:/deletedfile/20121123141928/deletefiles.txt'

file=File.new(df)

File.open(file,'r').each { |line|

#p line.class

if line.strip != ''

Dir.mkdir line.to_s #如果存在会建立失败!

puts '成功建立了吧应该!'

else

puts '失败!'

end

}

file.close

###############这样可以循环读取行##############