首页 > 代码库 > Ruby 文件处理

Ruby 文件处理

#r read,#w write,#a append,#r+ 读写方式 从文件的头位置开始读取或写入,#w+ 读写方式,如果文件已存在清空该文件,不存在就创建一个新的文件, #a+ 如果文件存在就在最后面附加,如果不存在就创建一个新文件。FileName="newfile.txt"file=File.open(FileName,a)file.puts testp file.pathfile.closep File.file?(FileName)#Dir.foreach("C:/") { |dir| puts dir  }puts "追加的文件:#{FileName}"File.open(FileName,a+) do |io|  (1..10).each do |i|        io.puts "追加的文件:#{FileName}第 #{i}行数据"#写入文件  endendFile.open(FileName,r+) { |io|  io.each { |i|    #puts "行号:#{io.lineno}:#{i}"#读取文件  }    }#File.rename(old_name, new_name)#重命名文件#File.delete(file_name) #删除文件file_size= File.size(FileName)#获取文件的字节大小puts file_sizefile=File.open(FileName)puts "创建时间#{file.stat.ctime}"#创建时间puts "最后修改时间#{file.stat.mtime}"puts "最后访问时间#{file.stat.atime}"puts "当前工作目录:#{Dir.pwd}"if !File.directory?(Dir.pwd+/testdir)  Dir.mkdir testdir#创建目录endDir.foreach(Dir.pwd) do |dir|  #puts dir#列出当前目录下所有文件和子目录endDir.chdir(C:/)  #更改当前工作目录puts "当前工作目录:#{Dir.pwd}"#加载当前目录中所有的子目录和文件,会占用大量的内存,另一种方法是使用find模块#Dir.glob(‘**/**‘).each  do   |filename| #  puts filename  #end#require "find" #包含find模块#Find.find(Dir.pwd) { |path| puts path  }require "rexml/document"docxml=REXML::Document.newelement=docxml.add_element(book,{name=>Ruby book})chapter1=element.add_element(c1,{ title=>c11})chapter2=element.add_element(c2,{ title=>c22})chapter1.add_text chapter1 chapter2.add_text chapter2docxml.write

 

Ruby 文件处理