สร้างไฟล์ชั่วคราว

Ruby:
สร้างไฟล์ชั่วคราว

วิธีการ:

ไลบรารีมาตรฐานของ Ruby มี Tempfile สำหรับการสร้างไฟล์ชั่วคราว ลองดูกันเลย:

require 'tempfile'

Tempfile.create('my_temp') do |tempfile|
  tempfile.write('Temporary content')
  puts "Temporary file is located at: #{tempfile.path}"
end
# หลังจากบล็อก, ไฟล์จะถูกลบโดยอัตโนมัติ

เมื่อคุณรันสคริปต์นี้, คุณจะเห็น:

Temporary file is located at: /tmp/my_temp20180418-56789-1234567

ไฟล์นี้จะไม่อยู่นานเกินควร ทันทีที่บล็อกสิ้นสุด, Ruby จะทำความสะอาดให้คุณ

ลงลึก

คลาส Tempfile มีมาตั้งแต่ Ruby 1.8, ฝึกฝนและขัดเกลามาเป็นเวลานาน ใต้ฮู้ด, มันใช้เส้นทางไฟล์ชั่วคราวของระบบของคุณ, ซึ่งระบบปฏิบัติการของคุณเสนอ

มีทางเลือกอื่นไหม? แน่นอน, คุณอาจ manually สร้างและติดตามไฟล์ชั่วคราว, แต่ทำไมต้องคิดใหม่ทั้งที่มีวิธีดีๆอยู่แล้ว? Tempfile ให้คุณฟิลเนมที่สุ่มและไม่ซ้ำใคร, ลดความเสี่ยงของการชนกัน

สำหรับคนที่ต้องการการควบคุมมากขึ้น, วิธีการ Tempfile.new รับพารามิเตอร์สำหรับการปรับเปลี่ยนชื่อไฟล์และตำแหน่ง แต่จำไว้ว่า, ด้วยอำนาจที่ยิ่งใหญ่มาพร้อมกับความรับผิดชอบที่ยิ่งใหญ่ - คุณจะต้องลบไฟล์เหล่านี้ด้วยตัวเอง

ขอบเขตจริงของการใช้ Tempfile อยู่ในความเป็นเธรด-เซฟและการถูกเก็บรวบรวมโดยการ์เบจคอลเลกชัน มันปิดล็อกไฟล์และรับรองว่าข้อมูลที่ละเอียดอ่อนนั้นจะไม่คงอยู่นานเกินควร ไฟล์ชั่วคราวทำงานคล้ายคลึงกับอ็อบเจคไฟล์มาตรฐาน, ดังนั้นคุณสามารถอ่านจาก, เขียนเข้าไป, และจัดการมันโดยใช้การดำเนินการกับไฟล์โดยปกติ

ดูเพิ่มเติม

  • Ruby API Dock สำหรับตัวอย่างการใช้งาน Tempfile เพิ่มเติม: API Dock Tempfile
  • คู่มือการจัดการไฟล์ใน Ruby สำหรับเพิ่มเติมเกี่ยวกับการจัดการไฟล์: File I/O