標籤:
#r read,#w write,#a append,#r+ 讀寫方式 從檔案的頭位置開始讀取或寫入,#w+ 讀寫方式,如果檔案已存在清空該檔案,不存在就建立一個新的檔案, #a+ 如果檔案存在就在最後面附加,如果不存在就建立一個新檔案。FileName="newfile.txt"file=File.open(FileName,‘a‘)file.puts ‘test‘p 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 ‘chapter2‘docxml.write
Ruby 檔案處理