Sistema de Arquivos e Zip
Criar, ler, deletar diretórios e arquivos
Escrito por Bermonruf em
Ruby. Data: 30/06/2007
Licença: Alguns direitos reservados. Dar créditos ao autor e linkar este original
Ver tópico original no fórum.
Fiz um mini-tutorial com os comandos básicos para mexer em arquivos, diretórios, zipar, etc..
Para mexer com arquivos Zip será necessária a biblioteca
RubyZip, se você
instalou o RubyGems junto com o Ruby, é só rodar o comando abaixo.
CODE
gem install rubyzip
Como as funções são básicas está tudo explicado nos comentários, qualquer coisa posta aí
CODE
require "ftools" #Utilidades, já vem com o Ruby
require "zip/zip" #Para manipular arquivos Zip
#Criando um diretório
Dir.mkdir "directory"
#Movendo o diretório corrente
Dir.chdir "directory"
#Lendo o diretório corrente
puts Dir.pwd
#Voltando ao diretório pai
Dir.chdir "../"
#Removendo um diretório em branco
Dir.rmdir "directory"
#Criando um arquivo
file = File.new "filename.txt", "w"
#Escrevendo nesse arquivo
file << "Some content around here\nHello World"
#Fechando o arquivo
file.close
#O mesmo que acima
File.open "filename.txt", "w" do |file|
file << "Some content around here\nHello World"
end
#Abrindo um arquivo
file = File.new "filename.txt", "r"
#Lendo esse arquivo
puts file.read
#Fechando o arquivo
file.close
#O mesmo que acima
File.open "filename.txt", "r" do |file|
puts file.read
end
#Criando um diretório util
Dir.mkdir "util"
#Copiando um arquivo
File.copy "filename.txt", "other.txt"
#Movendo um arquivo
File.move "other.txt", "util/another.txt"
#Renomeando um arquivo
File.rename "filename.txt", "filename2.txt"
#Deletando um arquivo
File.delete "filename2.txt"
#Removendo outros arquivos
Dir.chdir "util"
File.delete "another.txt"
Dir.chdir "../"
Dir.rmdir "util"
#Criando um arquivo qualquer para testes com Zip
File.open "test.txt", "w" do |file|
file << "Lorem ipsum dolo sit amet\n" * 10
end
#Criando um arquivo Zip novo, true para criar se não existir
zip = Zip::ZipFile.new "zipname.zip", true
#Adicionando arquivos
zip.add "in_zip.txt", "test.txt"
#Criando diretórios
zip.mkdir "directory"
#Adicionando arquivo nesse diretório
zip.add "directory/file.txt", "test.txt"
#Fechando o arquivo
zip.close
#O mesmo que acima adicionando um arquivo, sem o true porque o Zip já existe
Zip::ZipFile.open "zipname.zip" do |zip|
#Bloco de código serve para dizer se substitui o arquivo caso exista
zip.add("in_zip.txt", "test.txt"){true}
end
#Removendo arquivos
File.delete "test.txt", "zipname.zip"
Flwss