提问人:Capnsockless 提问时间:9/28/2023 更新时间:9/29/2023 访问量:44
将 .love 文件移动到其他地方后,无法读取 Lua 中的文件
Can't read file in Lua after I moved the .love file elsewhere
问:
所以我压缩了我的 Love2D 项目,当我在同一文件夹中启动它时它可以工作,但在其他地方我的 io.open 不起作用。这是我的文件系统:
...
utils
|json.lua <-- library I use for encoding and decoding
|JSONHandler.lua
|parameters.json
conf.lua
main.lua
...
我在JSONHandler.lua中收到错误,其中我有:
local json = require "utils/json"
Handler = {
filename = "utils/parameters.json",
params = {},
...
}
function Handler:init()
local o = {}
setmetatable(o, self)
self.__index = self
local file = io.open(self.filename, "r")
local content = file:read("a")
...
我的文件最终为零
我尝试了许多不同的文件名相对路径,但没有任何效果,所以我想知道 .love 文件如何处理路径,我应该如何跟踪我的parameters.json?
答:
1赞
Luke100000
9/29/2023
#1
当您不移动文件时,它可能会起作用,因为它仍然可以访问工作目录中的原始文件。.love
Lua 无法读取开箱即用的 zip 文件中的内容,但 Love2d 提供了 love.filesystem。
它也有文件包装器,但如果你只想阅读内容,最好阅读
:
local content = love.filesystem.read(self.filename)
请注意,您只能读取 love zip、工作目录和保存目录中的文件。
评论
parameters.json