การอ่านไฟล์ข้อความ

Elixir:
การอ่านไฟล์ข้อความ

วิธีการ:

นี่คือวิธีอ่านเนื้อหาทั้งหมดของไฟล์ข้อความชื่อ example.txt:

File.read("example.txt")

ตัวอย่างการแสดงผลหาก example.txt มีเนื้อหาว่า “Hello, Elixir!”:

{:ok, "Hello, Elixir!"}

เพื่ออ่านไฟล์ทีละบรรทัด:

File.stream!("example.txt")
|> Enum.each(fn line -> IO.puts(line) end)

สิ่งนี้จะพิมพ์แต่ละบรรทัดของ example.txt ลงในคอนโซล

ทำความเข้าใจลึกซึ้ง

ใน Elixir, File.read/1 และ File.stream!/1 เป็นวิธีการทั่วไปในการอ่านไฟล์ข้อความ ในอดีต การอ่านไฟล์ในการเขียนโปรแกรมมีจุดกำเนิดจากความต้องการในการจัดเก็บและเรียกข้อมูล ในยุคการคอมพิวเตอร์เริ่มแรก การทำเช่นนี้ได้รับการดำเนินการโดยใช้ punch cards หรือ magnetic tapes วันนี้เราใช้อุปกรณ์จัดเก็บข้อมูลหลากหลายประเภทเช่น SSDs, HDDs และอื่น ๆ

ทางเลือกหนึ่งของ File.read/1 คือ File.read!/1 ซึ่งจะแสดงข้อผิดพลาดหากเกิดปัญหาใด ๆ แทนที่จะคืนค่าเป็น tuple ในทำนองเดียวกัน File.stream!/1 แตกต่างจาก File.stream/1 โดยจะแสดงข้อผิดพลาดหากล้มเหลวแทนที่จะคืนค่า error tuple

การดำเนินการในเบื้องหลังจัดการกับข้อมูล binary ข้อความถูกแปลงเป็น binaries โดย Elixir ซึ่งจัดการกับ bytes และ encoding ระดับพื้นฐาน

ดูข้อมูลเพิ่มเติมที่: