6.19. Obcinanie pliku
Problem
Chcemy obciąć plik do zadanej długości, być może zerowej.
Rozwiązanie
Otwarcie pliku w trybie do zapisu powoduje obcięcie go do zerowej długości, po czym można wpisywać do niego nową zawartość:
filename = 'truncate.txt' open(filename, 'w') { |f| f << "To wszystko zostanie obcięte." } File.size(filename) # => 30 f = open(filename, 'w') {} File.size(filename) # => 0
Obcięcia pliku do zerowej długości można także dokonać, podając jako tryb otwarcia File:TRUNC
:
open(filename, 'w') { |f| f << "To jest nowa zawartość." } File.size(filename) # => 27 f = open(filename, File::TRUNC) {} File.size(filename) # => 0
Na pliku otwartym w trybie File::TRUNC
nie da się wykonać żadnej operacji:
open(filename, File::TRUNC) ...
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.