6.8. Zapis do pliku tymczasowego
Problem
Chcemy w bezpieczny sposób zapisywać dane do pliku tymczasowego o unikalnej nazwie.
Rozwiązanie
Za obsługę plików tymczasowych odpowiedzialna jest klasa Tempfile
. Implementuje ona wszystkie metody klasy File
, tworząc plik tymczasowy w unikalnej lokalizacji w drzewie katalogów.
require 'tempfile' out = Tempfile.new("tempfile") out.path # => "C:/DOCUME~1/Andrzej1/USTAWI~1/Temp/tempfile3644.0"
Plik reprezentowany przez obiekt Tempfile
otwierany jest w trybie odczytu i zapisu (w+
), można więc zapisywać do niego zawartość i odczytywać ją bez potrzeby zamykania go i ponownego otwierania.
out << "Taki sobie tekst." out.rewind out.read # => "Taki sobie tekst." out.close
Zauważmy, że do konstruktora ...
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.