Ruby文件操作怎樣壓縮解壓文件

小樊
82
2024-11-06 03:54:36

在Ruby中,你可以使用Zip庫(kù)來(lái)壓縮和解壓文件。以下是一些示例代碼,展示了如何使用這些功能:

  1. 首先,確保你已經(jīng)安裝了zip庫(kù)。在大多數(shù)Ruby環(huán)境中,它通常是默認(rèn)包含的。如果沒(méi)有,你可以通過(guò)運(yùn)行gem install zip來(lái)安裝它。

  2. 壓縮文件:

require 'zip'

def create_zip_file(input_directory, output_zip_file)
  Zip::File.open(output_zip_file, Zip::CREATE) do |zip|
    Dir[input_directory + '/**/*'].each do |file|
      zip.add(file, file.sub(input_directory, ''))
    end
  end
end

input_directory = 'path/to/your/input/directory'
output_zip_file = 'path/to/your/output/file.zip'
create_zip_file(input_directory, output_zip_file)

這個(gè)create_zip_file方法接受輸入目錄和輸出ZIP文件的路徑。它會(huì)遍歷輸入目錄中的所有文件,并將它們添加到ZIP文件中。

  1. 解壓文件:
require 'zip'

def extract_zip_file(zip_file, output_directory)
  Zip::File.open(zip_file, Zip::EXTRACT_TO) do |zip|
    zip.each do |entry|
      entry.extract(output_directory)
    end
  end
end

zip_file = 'path/to/your/input/file.zip'
output_directory = 'path/to/your/output/directory'
extract_zip_file(zip_file, output_directory)

這個(gè)extract_zip_file方法接受ZIP文件的路徑和輸出目錄的路徑。它會(huì)遍歷ZIP文件中的所有條目,并將它們提取到輸出目錄中。

注意:請(qǐng)確保在運(yùn)行這些代碼之前,將input_directory、output_zip_file、zip_fileoutput_directory變量設(shè)置為正確的文件路徑。

0