首先安裝rubyzip:
gem install rubyzip
《ruby cookbook》裡面簡要地介紹了如何使用rubyzip讀寫zip檔案,**如下:
# 寫zip
require 'rubygems'
require 'zip/zipfilesystem'
zip::zipfile.open('zipfile.zip', zip::zipfile::create) do |zip|
zip.file.open('file1', 'w')
zip.dir.mkdir('sub_dir')
zip.file.open('sub_dir/file2', 'w')
end
但實際上這段**沒什麼用處,一般我們都是要把已有的檔案或資料夾壓縮成zip,要怎麼辦呢?基本想法是遞迴遍歷給定檔案(目錄),然後把檔案乙個乙個的加入zip檔案中。**如下:
def compress
zip::zipfile.open 'zipfile.zip', zip::zipfile::create do |zip|
add_file_to_zip('dir', zip)
endend
def add_file_to_zip(file_path, zip)
if file.directory?(file_path)
dir.foreach(file_path) do |sub_file_name|
add_file_to_zip("#/#", zip) unless sub_file_name == '.' or sub_file_name == '..'
endelse
zip.add(file_path, file_path)
endend
其實最主要的就是zipfile類的add方法,第乙個引數指定zip檔案中的路徑,第二個引數指定要被壓縮的檔案的路徑。
另外還要注意的是dir.foreach會返回指定目錄中的所有子檔案(目錄),包括"."和"..",所以要做額外的判斷。
ruby 生成檔案
1.建立檔案 建立乙個檔案,引數1 檔名,引數2 對檔案的操作,w 讀寫 w 只寫 r 讀寫 r 只寫 f file.new test1.txt w 寫入檔案內容 f.puts test 最後關閉檔案,釋放這個執行緒.f.close 2.指定檔案的路徑 建立路徑path,引數1 檔案的路徑,引數2 ...
用exerb將ruby生成exe檔案
2.安裝 在dos環境下,輸入命令ruby setup.rb即可。3.使用方法 例 單檔案 a.準備檔案 在ruby自帶的scite的rb檔案的編輯器中,輸入 puts hello 儲存檔名為 hello.rb b.進入dos環境,輸入命令ruby hello.rb確認是否檔案是否存在,請一定這樣做...
Ruby1 9 2之 生成HTML檔案
利用ruby 生成html檔案,首先建立html檔案,然後向其輸入標籤及所需內容。建立檔案 filehtml file.new test html.html w 輸入格式標籤 filehtml.puts 輸入所需內容 filehtml.puts this is neat 輸入格式標籤 filehtm...