Ruby:
Tạo một tập tin tạm thời
Làm thế nào:
Thư viện chuẩn của Ruby cung cấp Tempfile
để tạo tệp tạm. Hãy cùng tìm hiểu:
require 'tempfile'
Tempfile.create('my_temp') do |tempfile|
tempfile.write('Nội dung tạm thời')
puts "Tệp tạm được đặt tại: #{tempfile.path}"
end
# Sau khi khối lệnh kết thúc, tệp sẽ được tự động xóa.
Khi bạn chạy đoạn mã này, bạn sẽ thấy:
Tệp tạm được đặt tại: /tmp/my_temp20180418-56789-1234567
Tệp này sẽ không tồn tại lâu hơn mức cần thiết. Ngay khi khối lệnh kết thúc, Ruby sẽ tự động dọn dẹp cho bạn.
Sâu hơn
Lớp Tempfile
đã có từ Ruby 1.8, được thực hành và tinh chỉnh theo thời gian. Bên dưới capô, nó sử dụng đường dẫn tệp tạm của hệ thống của bạn, do hệ điều hành cung cấp.
Có phương án khác không? Chắc chắn, bạn có thể tự tạo và theo dõi tệp tạm, nhưng tại sao lại phải tái phát minh bánh xe? Tempfile
cung cấp cho bạn một tên tệp ngẫu nhiên, độc đáo, giảm thiểu nguy cơ xung đột.
Đối với những ai mong muốn kiểm soát nhiều hơn, phương thức Tempfile.new
nhận các tham số để điều chỉnh tên tệp và vị trí. Nhưng nhớ rằng, có quyền năng lớn đi kèm với trách nhiệm lớn - bạn sẽ cần phải xóa những tệp này một cách thủ công.
Lợi ích thực sự khi sử dụng Tempfile
nằm ở tính an toàn với luồng và thu gom rác tự động. Nó khóa tệp lại và đảm bảo rằng dữ liệu nhạy cảm không tồn tại lâu hơn nên thế. Một tệp tạm hoạt động giống như một đối tượng File thông thường, vì vậy bạn có thể đọc từ, viết vào, và thao tác với nó bằng các hoạt động tệp điển hình.
Xem thêm
- Ruby API Dock cho các ví dụ sử dụng Tempfile sâu hơn: API Dock Tempfile
- Hướng dẫn về Ruby File I/O để biết thêm về cách xử lý tệp: File I/O