การเขียนไฟล์ข้อความ

Clojure:
การเขียนไฟล์ข้อความ

วิธีการ:

เขียนข้อความไปยังไฟล์โดยใช้ฟังก์ชันที่มีอยู่ใน Clojure

ฟังก์ชัน spit คือวิธีที่ง่ายที่สุดในการเขียนข้อความลงในไฟล์ใน Clojure มันรับอาร์กิวเมนต์สองอย่าง: ที่อยู่ไฟล์และสตริงที่จะเขียน หากไฟล์นั้นไม่มีอยู่ spit จะสร้างมันขึ้นมา หากมีอยู่แล้ว spit จะเขียนทับ

(spit "example.txt" "Hello, world!")

เพื่อเพิ่มข้อความไปยังไฟล์ที่มีอยู่แล้ว คุณสามารถใช้ฟังก์ชัน spit พร้อมกับตัวเลือก :append.

(spit "example.txt" "\nLet's add this new line." :append true)

หลังจากรันส่วนประกอบเหล่านี้ “example.txt” จะมีข้อความ:

Hello, world!
Let's add this new line.

การใช้ไลบรารีของบุคคลที่สาม

ตามที่ความสามารถภายในที่มากับ Clojure มักจะเพียงพอแล้ว ชุมชนได้พัฒนาไลบรารีที่ทรงพลังสำหรับงานที่ซับซ้อนหรือต้องการความเฉพาะเจาะจงมากขึ้น สำหรับไอ/โอไฟล์ หนึ่งในไลบรารียอดนิยมคือ clojure.java.io ซึ่งให้วิธีการจัดการไฟล์ที่คล้ายกับ Java มากขึ้น

ในการใช้ clojure.java.io สำหรับการเขียนไปยังไฟล์ คุณต้องนำเข้ามันก่อน:

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

จากนั้น คุณสามารถใช้ฟังก์ชัน writer เพื่อรับอ็อบเจ็กต์ writer และฟังก์ชัน spit (หรือฟังก์ชันอื่นๆ เช่น print, println) เพื่อเขียนลงไปในไฟล์:

(with-open [w (io/writer "example_with_io.txt")]
  (.write w "This is written using clojure.java.io"))

สิ่งนี้จะสร้าง (หรือเขียนทับหากมันมีอยู่แล้ว) “example_with_io.txt” ด้วยข้อความ:

This is written using clojure.java.io

จำไว้ว่า: with-open จะรับรองว่าไฟล์ถูกปิดอย่างถูกต้องหลังจากเขียน เพื่อหลีกเลี่ยงการรั่วไหลของทรัพยากร.