文件的操作File类 创建新文件的方式有: file = File.new("testfile", "r") 第一个参数是文件的路径和名字; 第二个参数以文件的模式,可以是: # r 只读 # w 只写 # a 追加只写 # r+, w+, a+都是读写模式,但是有区别 # r+是覆盖写,w+是清除后写,a+是追加写 # 所有模式加b就是对应的二进制模式
打开文件的方法: File.open("testfile", "r") do |file| #处理文件 end
写入文件 File.open("E:/22.txt", "w"){|file| file.puts("line1") file.puts("line1") file.close }
读取文件 file = File.open("E:/20101221.txt") file.each{ |line| puts line } file.close
文件路径的处理Dir类 Dir.chdir(“/tmp”) # 将当前的工作路径改为tmp
Dir.getwd # 获取当前的工作路径
Dir.rmdir("/tmp") # 删除文件夹
Dir.foreach(“testdir”) {|x| puts “Got #{x}” } # 循环文件夹中的所有文件及文件夹
Dir.mkdir(“test”) # 创建文件夹
Dir.glob(“*.rb”) # 找出与“*.rb”匹配的文件,返回一个数组
#生成dir目录及其所有上级目录 FileUtils.mkdir_p 'E:/ruby'
#删除目录 FileUtils.rm_r Dir.glob('E:/ruby')
# cp 文件拷贝 FileUtils.cp("F:\\test1.rb", "F:\\Test“) # 该方法经测试可以进行覆写操作,同名文件被拷贝的文件覆盖
# mv 将文件进行移动 FileUtils.mv("F:\\test1.rb", "E:\\test2.rb") # 该方法将 test1.rb 改名为 test2.rb 并移动到 E 分区
FileUtils.mv("F:\\Ruby", "F:\\Good") # 该方法将 Ruby 文件夹移动到 Good 文件夹下
FileUtils.mv("F:\\Good", "E:\\Good") # >>Error!Permission denied - F:\Good or E:\Good,跨区的文件夹移动发生了错误
# cmp 文件比较 FileUtils.cmp("F:\\test1.rb", "F:\\test2.rb") # 比较两个文件是否相同,返回 true 或者 false
require "fileutils"
if File.exist?("./testfile/test.txt") file=File.open("./testfile/test.txt") file.each do |line| puts line end file.close else file=File.new("./testfile/test.txt","a+") File.open("./testfile/test.txt","w") do |file| file.puts("line 1") file.puts("line 2") end end
puts Dir.getwd if File.exist?("./testfile/test2") Dir.rmdir("./testfile/test2") else Dir.mkdir("./testfile/test2") end #a=Dir.glob("*.rb") #puts a #b=Dir.glob("**/*.rb") #puts b #c=Dir.glob("./work/*.rb") #puts c d=Dir.glob("F://workspace//test/**/*.rb") puts d
Dir.foreach("./") do |x| puts "Got #{x}" end
#File.delete(filename) #FileUtils.rm_r("F:\\Test\\Good.txt")
if File.exist?("./usr/local/ruby") FileUtils.rm_r Dir.glob('./usr/local/ruby') else FileUtils.mkdir_p './usr/local/ruby' end
FileUtils.cp("./testfile/test.txt","./testfile/test1/test.txt") #FileUtils.mv("./testfile/test.txt","./testfile/test1/test1.txt")
#FileUtils.mv("./testfile/test2/", "./testfile/test1/")
#FileUtils.mv("F:\\Good", "E:\\Good")
# FileUtils.cmp("F:\\test1.rb", "F:\\test2.rb")
|
请发表评论