在 Love2D 中读取 txt 文件时遇到问题

Trouble reading txt file in Love2D

我正在尝试读取 Lua 中的 txt 文件,如下所示 (main.lua):

local function read_file(filename)
    contents = io.open(filename, "r")
    if contents == nil then
        return false
    else
        io.close(contents)
        return true
    end
end

if read_file("myfile.txt") then
    print("Yes")
else
    print("Not found")
end

但是,即使 myfile.txt 与 main.lua 在同一目录中,它仍会返回 "Not found"。我目前正在使用 Lua 和 Love2D 引擎。

虽然您可能想在 LÖVE 中使用 Lua 的 io,但我建议您不要这样做。

LÖVE 拥有自己的 love.filesystem。考虑:

if love.filesystem.getInfo("myfile.txt") then
   print("Yes")
   print(love.filesystem.read("myfile.txt"))
else
   print("Not found")
end

love.filesystem 的行为在 LÖVE 支持的平台之间是一致的,简而言之,对于选定的操作,它是:

  • Write/append - 文件路径相对于保存目录
  • 读取 - 路径首先根据保存目录解析。如果未找到任何内容,则根据 love 存档或(如果适用)源目录的内容解析路径。

保存目录是您的应用程序使用的特殊目录。如有疑问,请参考LÖVE's wiki.

至于为什么问题中的示例可能不起作用 - 请参阅 Egor 的评论。