Đọc một tệp văn bản

Lua:
Đọc một tệp văn bản

Làm thế nào:

Hãy xem cách đọc một tệp văn bản dòng trên dòng và sau đó là đọc toàn bộ một lần.

-- Đọc tệp dòng theo dòng
local file = io.open("example.txt", "r") -- Mở tệp để đọc
if file then
  for line in file:lines() do -- Lặp qua từng dòng trong tệp
    print(line)
  end
  file:close() -- Luôn đóng tệp khi bạn hoàn thành
else
  print("Không thể mở tệp.")
end

-- Đọc toàn bộ tệp cùng một lúc
local file = io.open("example.txt", "r") -- Mở tệp để đọc
if file then
  local content = file:read("*a") -- Đọc toàn bộ nội dung
  print(content)
  file:close() -- Đóng tệp
else
  print("Không thể mở tệp.")
end

Kết quả mẫu cho cả hai đoạn mã, nếu example.txt chứa:

Hello, Lua!

Kết quả sẽ là:

Hello, Lua!

Sâu hơn

Theo lịch sử, việc đọc tệp là một hoạt động cơ bản, bắt nguồn từ những máy tính đầu tiên. Trong Lua, điều này được xử lý thông qua mô hình I/O đơn giản với thư viện io.

Mặc dù io.linesio.read là những cách phổ biến để truy cập vào nội dung của một tệp, nhưng cũng có những phương án thay thế như lfs (LuaFileSystem) cho các thao tác tệp tiên tiến.

Khi đọc, Lua xử lý việc đệm ngầm, tuy nhiên đối với những tệp lớn, bạn nên đọc từng phần để tránh việc sử dụng quá nhiều bộ nhớ.

Sử dụng thư viện io là điều dễ dàng, nhưng luôn nhớ đóng tệp để tránh rò rỉ tài nguyên. Trong trường hợp lỗi, các thao tác tệp của Lua trả về nil và một thông báo lỗi, điều mà bạn nên xử lý để đảm bảo tính mạnh mẽ.

Xem Thêm: