在 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 的评论。
我正在尝试读取 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 的评论。