Love2D APIFilesystem本页总览Filesystem 描述: 提供用户文件系统的接口。 setIdentity 类型: 函数。 描述: 设置游戏的写入目录。 请注意,您只能设置用于存储文件的文件夹名称,而不能设置位置。 签名: setIdentity: function(identity: string, append_to_path?: boolean) 参数: 参数名类型描述identitystring将用作写入目录的新标识。append_to_pathbooleanappend_to_path 参数。 getIdentity 类型: 函数。 描述: 获取游戏的写入目录名称。 请注意,这仅返回存储文件的文件夹的名称,而不是完整路径。 签名: getIdentity: function(): string 返回值: 返回类型描述string用作写入目录的标识。 getSource 类型: 函数。 描述: 返回 .love 文件或目录的完整路径。如果游戏融合到 LÖVE 可执行文件,则返回可执行文件。 签名: getSource: function(): string 返回值: 返回类型描述string.love 文件或目录的完整平台相关路径。 getSaveDirectory 类型: 函数。 描述: 获取指定保存目录的完整路径。 如果您想使用标准 io 库(或其他库)来 在保存目录中读取或写入。 签名: getSaveDirectory: function(): string 返回值: 返回类型描述string保存目录的绝对路径。 getWorkingDirectory 类型: 函数。 描述: 获取当前工作目录。 签名: getWorkingDirectory: function(): string 返回值: 返回类型描述string当前工作目录。 getUserDirectory 类型: 函数。 描述: 返回用户目录 签名: getUserDirectory: function(): string 返回值: 返回类型描述string用户目录的路径 getAppdataDirectory 类型: 函数。 描述: 返回应用程序数据目录(可能与 getUserDirectory 相同) 签名: getAppdataDirectory: function(): string 返回值: 返回类型描述string应用程序数据目录的路径 getSourceBaseDirectory 类型: 函数。 描述: 返回包含 .love 文件的目录的完整路径。如果游戏融合到 LÖVE 可执行文件,则返回包含可执行文件的目录。 如果 love.filesystem.isFused 为 true,则该函数返回的路径可以传递给 love.filesystem.mount,这将使包含主游戏的目录(例如 C:\Program Files\coolgame\)可以被 love.filesystem. 读取 签名: getSourceBaseDirectory: function(): string getExecutablePath: function(): string 返回值: 返回类型描述string包含 .love 文件的目录的完整平台相关路径。 getRealDirectory 类型: 函数。 描述: 获取包含文件路径的目录的特定于平台的绝对路径。 这可用于确定文件是否位于保存目录或游戏源.love 内。 重载说明: 该函数返回包含给定“'file path'”的目录,而不是文件。例如,如果文件 snapshot1.png 存在于游戏保存目录中名为 snapshots 的目录中,则 love.filesystem.getRealDirectory('screenshots/screenshot1.png') 将返回与 love.filesystem.getSaveDirectory. 签名: getRealDirectory: function(filename: string): string | nil, string | nil 参数: 参数名类型描述filenamestring要获取目录的文件路径。 返回值: 返回类型描述string or nil包含文件路径的目录的特定于平台的完整路径。 getRequirePath 类型: 函数。 描述: 获取调用 require 时将搜索的文件系统路径。 该函数返回的路径字符串是由分号分隔的路径模板序列。传递给 ''require'' will be inserted in place of any question mark ('?') character in each template (after the dot characters in the argument passed to ''require'' 的参数被目录分隔符替换。) 路径相对于游戏的源目录和保存目录,以及使用 love.filesystem.mount. 重载说明: 默认路径字符串是'?.lua;?/init.lua',这使得require('cool')尝试加载cool.lua,然后如果cool.lua不存在则尝试cool/init.lua。 签名: getRequirePath: function(): string 返回值: 返回类型描述string''require''函数将在love的文件系统中检查的路径。 setRequirePath 类型: 函数。 描述: 设置调用 require 时将搜索的文件系统路径。 提供给此函数的路径字符串是由分号分隔的路径模板序列。传递给 ''require'' will be inserted in place of any question mark ('?') character in each template (after the dot characters in the argument passed to ''require'' 的参数被目录分隔符替换。) 路径相对于游戏的源目录和保存目录,以及使用 love.filesystem.mount. 重载说明: 默认路径字符串是'?.lua;?/init.lua',这使得require('cool')尝试加载cool.lua,然后如果cool.lua不存在则尝试cool/init.lua。 签名: setRequirePath: function(path: string) 参数: 参数名类型描述pathstring''require''函数将在love的文件系统中检查的路径。 mount 类型: 函数。 描述: 在游戏的保存目录中安装zip文件或文件夹以供读取。 -- 如果游戏处于融合模式,也可以挂载love.filesystem.getSourceBaseDirectory。 签名: mount: function(archive: string, mountpoint: string, append_to_path?: boolean): boolean 参数: 参数名类型描述archivestring游戏保存目录中要挂载的文件夹或zip文件。mountpointstring存档将安装到的新路径。append_to_pathboolean读取已安装存档之前或之后的文件路径时是否搜索存档。这包括游戏的源目录和保存目录。 (默认值:假。) 返回值: 返回类型描述booleansuccess — 如果存档已成功安装,则为 true,否则为 false。 mount 类型: 函数。 描述: 在游戏的保存目录中安装zip文件或文件夹以供读取。 -- 如果游戏处于融合模式,也可以挂载love.filesystem.getSourceBaseDirectory。 签名: mount: function(archive: FileData, mountpoint: string, append_to_path?: boolean): boolean 参数: 参数名类型描述archiveFileData游戏保存目录中要挂载的文件夹或zip文件。mountpointstring存档将安装到的新路径。append_to_pathboolean读取已安装存档之前或之后的文件路径时是否搜索存档。这包括游戏的源目录和保存目录。 (默认值:假。) 返回值: 返回类型描述booleansuccess — 如果存档已成功安装,则为 true,否则为 false。 unmount 类型: 函数。 描述: 卸载之前使用 love.filesystem.mount. 签名: unmount: function(archive: string): boolean 参数: 参数名类型描述archivestring当前挂载的游戏保存目录中的文件夹或zip文件。 返回值: 返回类型描述booleansuccess — 如果存档已成功卸载,则为 true,否则为 false。 unmount 类型: 函数。 描述: 卸载之前使用 love.filesystem.mount. 签名: unmount: function(archive: FileData): boolean 参数: 参数名类型描述archiveFileData当前挂载的游戏保存目录中的文件夹或zip文件。 返回值: 返回类型描述booleansuccess — 如果存档已成功卸载,则为 true,否则为 false。 isFused 类型: 函数。 描述: 获取游戏是否处于融合模式。 如果游戏处于融合模式,其保存目录将直接位于Appdata目录中,而不是Appdata/LOVE/中。游戏还能够加载位于保存目录中的 C Lua 动态库。 如果源 .love 已融合到可执行文件(请参阅游戏分发),或者在启动游戏时将 '--fused' 作为命令行参数给出,则游戏处于融合模式。 签名: isFused: function(): boolean 返回值: 返回类型描述boolean如果游戏处于融合模式则为 true,否则为 false。 newFile 类型: 函数。 描述: 创建一个新的文件对象。 -- 需要打开才可以访问。 签名: newFile: function(filename: string): File 参数: 参数名类型描述filenamestring文件的文件名。 返回值: 返回类型描述Filefile — 新的文件对象。 newFile 类型: 函数。 描述: 创建一个新的文件对象。 -- 需要打开才可以访问。 签名: newFile: function(filename: string, mode: OpenFileMode): File 参数: 参数名类型描述filenamestring文件的文件名。modeOpenFileMode打开文件的模式。 返回值: 返回类型描述File新的 File 对象,如果发生错误则为 nil。 newFileData 类型: 函数。 描述: 从磁盘上的文件或内存中的字符串创建一个新的 FileData 对象。 签名: newFileData: function(filename: string): FileData 参数: 参数名类型描述filenamestring文件路径。 返回值: 返回类型描述FileDatadata — 新的文件数据。 newFileData 类型: 函数。 描述: 从磁盘上的文件或内存中的字符串创建一个新的 FileData 对象。 签名: newFileData: function(file: File): FileData 参数: 参数名类型描述fileFile文件路径。 返回值: 返回类型描述FileData新的 FileData,如果发生错误则为零。 newFileData 类型: 函数。 描述: 从磁盘上的文件或内存中的字符串创建一个新的 FileData 对象。 签名: newFileData: function(data: string, filename: string): FileData 参数: 参数名类型描述datastring要复制到新 FileData 对象中的 Data 对象。filenamestring文件的名称。当将 FileData 对象传递到 love.audio.newSource. 返回值: 返回类型描述FileData新的 FileData,如果发生错误则为零。 read 类型: 函数。 描述: 读取文件的内容。 签名: read: function(filename: string, size?: integer): string | nil, number | string 参数: 参数名类型描述filenamestring文件的名称(和路径)。sizeinteger读取多少字节。 (默认:全部。) 返回值: 返回类型描述string | nilcontents — 文件内容。number | stringsize — 已读取多少字节。 read 类型: 函数。 描述: 读取文件的内容。 签名: read: function(container: string, filename: string, size?: integer): string | nil, number | string 参数: 参数名类型描述containerstring返回文件内容的类型。filenamestring文件的名称(和路径)sizeinteger读取多少字节(默认:全部。) 返回值: 返回类型描述string | nil返回 nil 作为内容。number | stringsize — 已读取多少字节。 read 类型: 函数。 描述: 读取文件的内容。 签名: read: function(container: string, filename: string, size?: integer): FileData | nil, number | string 参数: 参数名类型描述containerstring返回文件内容的类型。filenamestring文件的名称(和路径)sizeinteger读取多少字节(默认:全部。) 返回值: 返回类型描述FileData | nilFileData 或包含文件内容的字符串。number | stringsize — 已读取多少字节。 load 类型: 函数。 描述: 加载 Lua 文件(但不运行它)。 签名: load: function(filename: string): function | nil, string | nil 参数: 参数名类型描述filenamestring文件的名称(和路径)。 返回值: 返回类型描述function加载的块。string or nil文件无法打开时的错误消息。 lines 类型: 函数。 描述: 迭代文件中的行。 签名: lines: function(filename: string): function(): string | nil 参数: 参数名类型描述filenamestring文件的名称(和路径) 返回值: 返回类型描述function or string or nil迭代文件 write 类型: 函数。 描述: 将数据写入保存目录中的文件。如果该文件已经存在,它将被新内容完全替换。 签名: write: function(filename: string, data: string, size?: integer): boolean, string | nil 参数: 参数名类型描述filenamestring文件的名称(和路径)。datastring要写入文件的字符串数据。sizeinteger要写入多少字节。 (默认值:全部。) 返回值: 返回类型描述booleansuccess — 如果操作成功。string | nilmessage — 如果操作不成功,则会出现错误消息。 write 类型: 函数。 描述: 将数据写入保存目录中的文件。如果该文件已经存在,它将被新内容完全替换。 签名: write: function(filename: string, data: FileData, size?: integer): boolean, string | nil 参数: 参数名类型描述filenamestring文件的名称(和路径)。dataFileData要写入文件的数据对象。sizeinteger要写入多少字节。 (默认值:全部。) 返回值: 返回类型描述booleansuccess — 如果操作成功。string | nilmessage — 如果操作不成功,则会出现错误消息。 append 类型: 函数。 描述: 将数据附加到现有文件。 签名: append: function(filename: string, data: string, size?: integer): boolean, string | nil 参数: 参数名类型描述filenamestring文件的名称(和路径)。datastring要附加到文件的字符串数据。sizeinteger要写入多少字节。 (默认值:全部。) 返回值: 返回类型描述booleansuccess — 如果操作成功则为 True,如果有错误则为 nil。string | nilerrormsg — 失败时的错误消息。 append 类型: 函数。 描述: 将数据附加到现有文件。 签名: append: function(filename: string, data: FileData, size?: integer): boolean, string | nil 参数: 参数名类型描述filenamestring文件的名称(和路径)。dataFileData要附加到文件的数据对象。sizeinteger要写入多少字节。 (默认值:全部。) 返回值: 返回类型描述booleansuccess — 如果操作成功则为 True,如果有错误则为 nil。string | nilerrormsg — 失败时的错误消息。 getInfo 类型: 函数。 描述: 获取有关指定文件或目录的信息。 签名: getInfo: function(filename: string): FileInfo | nil 参数: 参数名类型描述filenamestring要检查的文件或目录路径。 返回值: 返回类型描述FileInfo | nilinfo — 包含有关指定路径的信息的表,如果路径中不存在任何内容,则为零。该表包含以下字段: getInfo 类型: 函数。 描述: 获取有关指定文件或目录的信息。 签名: getInfo: function(filename: string, filter_type: FileType): FileInfo | nil exists: function(filename: string): boolean isDirectory: function(filename: string): boolean isFile: function(filename: string): boolean isSymlink: function(filename: string): boolean getLastModified: function(filename: string): number | nil, string | nil getSize: function(filename: string): number | nil, string | nil 参数: 参数名类型描述filenamestring要检查的文件或目录路径。filter_typeFileType如果给定路径中的项目与指定的文件类型匹配,则导致 getInfo 仅返回信息表。 返回值: 返回类型描述FileInfo | nil作为参数给出的表,如果路径中不存在任何内容,则为 nil。该表将填写以下字段: createDirectory 类型: 函数。 描述: 递归创建一个目录。 当使用 'a/b' 调用时,它会创建 'a' 和 'a/b'(如果它们尚不存在)。 签名: createDirectory: function(name: string): boolean, string | nil 参数: 参数名类型描述namestring要创建的目录。 返回值: 返回类型描述boolean如果目录已创建则为 True,否则为 false。 remove 类型: 函数。 描述: 删除文件或空目录。 重载说明: 删除前目录必须为空,否则会失败。只需事先删除目录中的所有文件和文件夹即可。如果文件存在于 .love 但不存在于保存目录中,它也会返回 false。打开的文件会阻止删除底层文件。只需关闭文件即可将其删除。 签名: remove: function(name: string): boolean, string | nil 参数: 参数名类型描述namestring要删除的文件或目录。 返回值: 返回类型描述boolean如果文件/目录被删除则为 true,否则为 false。 getDirectoryItems 类型: 函数。 描述: 返回一个表,其中包含指定路径中的文件和子目录的名称。该表未以任何方式排序;顺序未定义。 如果传递给函数的路径存在于游戏和保存目录中,它将列出两个地方的文件和目录。 签名: getDirectoryItems: function(directory?: string): {string} 参数: 参数名类型描述directorystring目录。 返回值: 返回类型描述{string}以字符串形式包含所有文件和子目录名称的序列。