6.18. Usuwanie pliku

Problem

Chcemy usunąć pojedynczy plik lub całe drzewo katalogów.

Rozwiązanie

Usunięcia pojedynczego pliku dokonuje się za pomocą metody File.delete:

FileUtils.touch "doomed_file"
File.exists? "doomed_file"                        # => true
File.delete "doomed_file"
File.exists? "doomed_file"                        # => false

Usunięcie całego katalogu wraz z podkatalogami też nie jest specjalnie trudne, choć pewien kłopot wynikać może z faktu, że Ruby oferuje w tym celu kilka metod. Najczęściej używaną i najprostszą jest FileUtils.remove_dir, rekurencyjnie usuwająca zawartość poszczególnych podkatalogów:

Dir.mkdir "doomed_directory"
File.exists? "doomed_directory"                     # => true
FileUtils.remove_dir "doomed_directory"
File.exists? "doomed_directory"                     # => false

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.