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

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

วิธีการ:

Clojure ทำให้เรื่องนี้ง่ายดาย เลยทีเดียว ไลบรารี่ clojure.java.io ช่วยคุณได้

(require '[clojure.java.io :as io])

; สร้างไฟล์ชั่วคราว
(def temp-file (io/file (io/create-temp-file "prefix-" ".txt")))

; ใช้งานไฟล์ชั่วคราว
(spit temp-file "ข้อมูลชั่วคราวก็คือชั่วคราว")

; ตรวจสอบเนื้อหา
(println (slurp temp-file)) ; => "ข้อมูลชั่วคราวก็คือชั่วคราว"

; ล้างข้อมูลโดยการลบไฟล์ชั่วคราวเมื่อคุณเสร็จสิ้น
(.delete temp-file)

ไม่มีอะไรที่อยู่กับเราตลอดไป ข้อมูลชั่วคราวของเราตอนนี้ได้พักผ่อนอย่างสงบแล้ว

การดำน้ำลึก

ความคิดของไฟล์ชั่วคราวนั้นมีมาตั้งแต่ยุคแรกๆ ของการคอมพิวติ้ง หลักๆ เพื่อหลีกเลี่ยงการใช้พื้นที่จัดเก็บหลักที่มีจำกัด มันเหมือนกับการเช่าพื้นที่ดิจิทัล

Clojure พึ่งพา Java ในที่นี้ โดยใช้ความสามารถของคลาส File ของ Java แม้คุณจะสามารถดำดิ่งลงไปใน “ป่า” Java โดยตรงได้ เลย แต่ Clojure ห่อหุ้มมันมาอย่างเรียบร้อย

มีทางเลือกอื่นหรือ? แน่นอน การใช้ directory ชั่วคราวก็เป็นอีกทางหนึ่ง แต่นั่นเป็นเรื่องอื่น และ Clojure ก็มีการจัดการส่วนนั้นไว้ด้วยเช่นกัน (ทดลองใช้ create-temp-dir)

ทำไมไม่ใช้หน่วยความจำแทน? ข้อดีของไฟล์ชั่วคราวคือสามารถจัดการกับข้อมูลที่ใหญ่เกินกว่าจะเก็บไว้ใน RAM ได้ หรือเมื่อคุณต้องการไฟล์จริงๆ โดยไม่ต้องกังวลเรื่องการจัดเก็บระยะยาวหรือการลบข้อมูล

ดูเพิ่มเติม

  • เอกสาร IO ของ Clojure เอง
  • เอกสาร File ของ Java — สำหรับรายละเอียดพื้นฐาน
  • บางทีอาจจะสำรวจ แพคเกจไฟล์ NIO ของ Java สำหรับการดำเนินการกับไฟล์ขนาดใหญ่และซับซ้อนมากขึ้นเกินกว่าพื้นฐาน