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