SEPARATORE="="*45+"\n"
def scrivi
print "\nInserisci nome file da scrivere: "
nome=gets.chomp
begin
file=File.open(nome,"w")
puts "Inserisci testo da mettere nel file(exit per uscire)"
scr=true
while scr==true
a=gets
if(a[-5..-2]=="exit")
file.write a[0...-5]
scr=false
else
file.write a
end
end
file.close
rescue
puts "Impossibile eseguire operazioni sul file: #{nome}"
end
end
def leggi
print "\nInserisci nome file da leggere: "
nome=gets.chomp
begin
file=File.open(nome,"r")
puts "\nFile: #{nome}\n"
file.each {|linea| puts "#{linea}"}
file.close
rescue
puts "Impossibile eseguire operazioni sul file: #{nome}"
end
end
def conta_caratteri
print "\nInserisci nome file: "
nome=gets.chomp
begin
file=File.open(nome,"r")
i=0
file.each_byte do |c|
if(c!=10&&c!=13)
i=i+1
end
end
puts "Nel file #{nome} sono presenti #{i} caratteri"
file.close
rescue
puts "Impossibile eseguire operazioni sul file: #{nome}"
end
end
def dispari
print "\nInserisci nome file: "
nome=gets.chomp
begin
file=File.open(nome,"r")
file.each do |f|
if(file.lineno%2!=0)
puts "#{file.lineno})#{f}"
end
end
file.close
rescue
puts "Impossibile eseguire operazioni sul file: #{nome}"
end
end
def main
puts SEPARATORE+"Gestione Files"
puts "1)Scrivi file 2)Leggi file"
puts "3)Conta caratteri 4)Righe dispari"
puts "5)Esci"
comando=gets.chomp.to_i
case comando
when 1
scrivi
when 2
leggi
when 3
conta_caratteri
when 4
dispari
when 5
exit
else
puts "Comando inesistente: #{comando}"
end
main
end
main