Ruby 文件处理
#r read, #w write, #a append, #r+ 读写方式 从文件的头位置开始读取或写入, #w+ 读写方式,如果文件已存在清空该文件,不存在就创建一个新的文件, #a+ 如果文件存在就在最后面附加,如果不存在就创建一个新文件。 FileName="newfile.txt" file=File.open(FileName,'a') file.puts 'test' p file.path file.close p 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}行数据"#写入文件 end end File.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_size file=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'#创建目录 end Dir.foreach(Dir.pwd) do |dir| #puts dir#列出当前目录下所有文件和子目录 end Dir.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.new element=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 'chapter2' docxml.write #YMAL库 #FPDF库 生成PDF #Rubyzip库 读写zip文件 #Rmagick库 图像文件处理