Ruby file


文件的操作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")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM