跳到主要内容

Content

描述:

  用于管理资源文件的搜索、加载和执行其它与资源文件相关的操作的单例类。

用法示例:

local Content = require("Content")
local text = Content:load("filename.txt")

searchPaths

类型: 成员变量。

描述:

  用于搜索资源文件的文件路径列表。

签名:

searchPaths: {string}

assetPath

类型: 成员变量。

描述:

  游戏引擎只读资源所在目录的路径。只有在平台 Windows、MacOS 和 Linux 上能被设置为新路径。

签名:

assetPath: string

writablePath

类型: 成员变量。

描述:

  游戏引擎可以做写入操作的文件路径。只有在平台 Windows、MacOS 和 Linux 上能被设置为新路径。默认与 appPath 相同。

签名:

writablePath: string

appPath

类型: 成员变量。

描述:

  游戏引擎应用程序存储目录的路径。

签名:

appPath: string

load

类型: 函数。

描述:

  以阻塞的方式读取文件内容。

签名:

load: function(self: Content, filename: string): string

参数:

参数名类型描述
filenamestring要读取的文件名。

返回值:

返回类型描述
string读取的文件内容。

loadExcel

类型: 函数。

描述:

  以阻塞的方式按表名读取 Excel 文件的内容。

签名:

loadExcel: function(self: Content, filename: string, sheetNames?: {string}):
{
--[[表名]] string:
--[[行]] {
--[[列]] {string | number}
}
} | nil

参数:

参数名类型描述
filenamestring要读取的 Excel 文件名。
sheetNames{string}[可选] 要读取的Excel表名的字符串列表。如果不提供,则默认会读取所有表。

返回值:

返回类型描述
table包含 Excel 文件数据的Lua表。Lua表的键是表名,值是包含Excel表的行列数据的表。如果读取失败则返回nil。

save

类型: 函数。

描述:

  保存文本内容到指定文件名的文件中。

签名:

save: function(self: Content, filename: string, content: string): boolean

参数:

参数名类型描述
filenamestring要保存到的文件名。
contentstring要保存到文件中的内容。

返回值:

返回类型描述
boolean如果文件保存成功,则为 true,否则为 false

exist

类型: 函数。

描述:

  检查是否存在指定文件名的文件。

签名:

exist: function(self: Content, filename: string): boolean

参数:

参数名类型描述
filenamestring要检查的文件名。

返回值:

返回类型描述
boolean如果文件存在,则为 true,否则为 false

mkdir

类型: 函数。

描述:

  创建具有指定路径的新目录。

签名:

mkdir: function(self: Content, path: string): boolean

参数:

参数名类型描述
pathstring要创建的目录的路径。

返回值:

返回类型描述
boolean如果创建了目录,则为 true,否则为 false

isdir

类型: 函数。

描述:

  检查指定路径是否为目录。

签名:

isdir: function(self: Content, path: string): boolean

参数:

参数名类型描述
pathstring要检查的路径。

返回值:

返回类型描述
boolean如果路径为目录,则为 true,否则为 false

remove

类型: 函数。

描述:

  删除指定路径的文件或目录。

签名:

remove: function(self: Content, path: string): boolean

参数:

参数名类型描述
pathstring要删除的文件或目录的路径。

返回值:

返回类型描述
boolean如果删除了文件或目录,则为 true,否则为 false

copy

类型: 函数。

描述:

  复制指定路径下的单个文件或目录下的所有文件到目标路径。

签名:

copy: function(self: Content, srcPath: string, dstPath: string): boolean

参数:

参数名类型描述
srcPathstring要复制的文件或目录的路径。
dstPathstring复制文件到的目标路径。

返回值:

返回类型描述
boolean如果成功复制了文件或目录,则为 true,否则为 false

move

类型: 函数。

描述:

  移动指定路径下的单个文件或目录到目标路径。

签名:

move: function(self: Content, srcPath: string, dstPath: string): boolean

参数:

参数名类型描述
srcPathstring要移动的文件或目录的路径。
dstPathstring移动文件或目录到的目标路径。

返回值:

返回类型描述
boolean如果成功移动了文件或目录,则为 true,否则为 false

isAbsolutePath

类型: 函数。

描述:

  检查指定路径是否为绝对路径。

签名:

isAbsolutePath: function(self: Content, path: string): boolean

参数:

参数名类型描述
pathstring要检查的路径。

返回值:

返回类型描述
boolean如果路径为绝对路径,则为 true,否则为 false

getFullPath

类型: 函数。

描述:

  获取指定文件名的文件的完整路径。

签名:

getFullPath: function(self: Content, filename: string): string

参数:

参数名类型描述
filenamestring要获取完整路径的文件名。

返回值:

返回类型描述
string文件的完整路径。

insertSearchPath

类型: 函数。

描述:

  在指定索引处插入文件搜索路径。

签名:

insertSearchPath: function(self: Content, index: integer, path: string)

参数:

参数名类型描述
indexinteger要插入搜索路径的索引。
pathstring要插入的搜索路径。

addSearchPath

类型: 函数。

描述:

  添加新的文件搜索路径。

签名:

addSearchPath: function(self: Content, path: string)

参数:

参数名类型描述
pathstring要添加的搜索路径。

removeSearchPath

类型: 函数。

描述:

  从列表中删除指定的搜索路径。

签名:

removeSearchPath: function(self: Content, path: string)

参数:

参数名类型描述
pathstring要删除的搜索路径。

loadAsync

类型: 函数。

描述:

  异步读取指定文件名的文件内容。

签名:

loadAsync: function(self: Content, filename: string): string

参数:

参数名类型描述
filenamestring要读取的文件名。

返回值:

返回类型描述
string读取的文件内容。

loadExcelAsync

类型: 函数。

描述:

  以异步的方式按表名读取 Excel 文件的内容。

签名:

loadExcelAsync: function(self: Content, filename: string, sheetNames?: {string}):
{
--[[表名]] string:
--[[行]] {
--[[列]] {string | number}
}
} | nil

参数:

参数名类型描述
filenamestring要读取的 Excel 文件名。
sheetNames{string}[可选] 要读取的Excel表名的字符串列表。如果不提供,则默认会读取所有表。

返回值:

返回类型描述
table包含 Excel 文件数据的Lua表。Lua表的键是表名,值是包含Excel表的行列数据的表。如果读取失败则返回nil。

saveAsync

类型: 函数。

描述:

  异步将指定内容保存到指定文件名的文件中。

签名:

saveAsync: function(self: Content, filename: string, content: string): boolean

参数:

参数名类型描述
filenamestring要保存到的文件名。
contentstring要保存到文件中的内容。

返回值:

返回类型描述
boolean如果成功保存内容,则为 true,否则为 false

copyAsync

类型: 函数。

描述:

  异步从源路径复制文件或文件夹到目标路径。

签名:

copyAsync: function(self: Content, src: string, dst: string): boolean

参数:

参数名类型描述
srcstring要复制的文件或文件夹的路径。
dststring复制文件的目标路径。

返回值:

返回类型描述
boolean如果成功复制了文件或文件夹,则为 true,否则为 false

zipAsync

类型: 函数。

描述:

  异步将指定文件夹压缩为具有指定文件名的 ZIP 归档文件。

签名:

zipAsync: function(self: Content, folderPath: string, zipFile: string, filter?: function(string): boolean): boolean

参数:

参数名类型描述
folderPathstring要压缩的文件夹的路径,应在可写资源路径下。
zipFilestring要创建的 ZIP 归档文件的名称。
filterfunction, 可选用于过滤要包含在归档中的文件的函数。该函数以文件名作为输入,并返回一个布尔值,表示是否包含文件。如果未提供,则包含所有文件。

返回值:

返回类型描述
boolean如果成功压缩了文件夹,则为 true,否则为 false

unzipAsync

类型: 函数。

描述:

  异步将指定 ZIP 归档文件解压缩到指定的文件夹目录。

签名:

unzipAsync: function(self: Content, zipFile: string, folderPath: string, filter?: function(string): boolean): boolean

参数:

参数名类型描述
zipFilestring要做解压的 ZIP 归档文件的名称,该文件必须在可写资源路径下。
folderPathstring要解压缩到的文件夹的路径,应在可写资源路径下。
filterfunction, 可选用于过滤要做解压的 ZIP 归档包中的文件的函数。该函数以文件名作为输入,并返回一个布尔值,表示是否解压文件。如果未提供,则解压所有文件。

返回值:

返回类型描述
boolean如果成功解压缩了文件,则为 true,否则为 false

searchFilesAsync

类型: 函数。

描述:

  异步搜索文件并返回匹配结果,应在协程线程中调用。

签名:

searchFilesAsync: function(
self: Content,
path: string,
exts: {string},
extensionLevels: {string: integer},
excludes: {string},
pattern: string,
useRegex?: boolean,
caseSensitive?: boolean,
includeContent?: boolean,
contentWindow?: integer,
callback?: function(result: SearchFilesResult): boolean
): {SearchFilesResult}

参数:

参数名类型描述
pathstring搜索根路径,空字符串表示资源根目录。
exts{string}需要包含的扩展名列表,空表表示不过滤。
extensionLevels{[string]: integer}扩展名到优先级的映射,用于同名不同后缀时选择优先级最高的文件。
excludes{string}需要跳过的目录名称列表。
patternstring搜索的匹配模式。
useRegexboolean[可选] 是否使用正则匹配(默认 false)。
正则通配符支持:
'.' 点,匹配任意单个字符
'^' 行首锚点,匹配字符串开始位置
'$' 行尾锚点,匹配字符串结束位置
'*' 星号,匹配前面的内容零次或多次(贪婪)
'+' 加号,匹配前面的内容一次或多次(贪婪)
'?' 问号,匹配前面的内容零次或一次(非贪婪)
'[abc]' 字符集,匹配括号内的任意一个字符(如 'a'、'b'、'c')
'[^abc]' 反集,匹配不是括号内任意字符的内容
'[a-zA-Z]' 字符范围,匹配 a 到 z 或 A 到 Z 范围内的字符
'\s' 匹配任意空白字符(如:\t \f \r \n \v 和空格)
'\S' 匹配任意非空白字符
'\w' 匹配任意字母、数字或下划线([a-zA-Z0-9_])
'\W' 匹配任意非字母、数字或下划线的字符
'\d' 匹配任意数字([0-9])
'\D' 匹配任意非数字字符
caseSensitiveboolean[可选] 是否区分大小写(默认 false)。
includeContentboolean[可选] 是否返回匹配内容片段(默认 false)。
contentWindowinteger[可选] includeContent 为 true 时返回匹配附近的字符数量。
callbackfunction[可选] 每条结果回调,返回 true 可中止搜索。

返回值:

返回类型描述
{SearchFilesResult}搜索结果列表。参考 SearchFilesResult

getDirs

类型: 函数。

描述:

  获取指定目录中所有子目录的名称。

签名:

getDirs: function(self: Content, path: string): {string}

参数:

参数名类型描述
pathstring要搜索的目录的路径。

返回值:

返回类型描述
table包含指定目录中所有子目录名称的列表。

getFiles

类型: 函数。

描述:

  获取指定目录中所有文件的名称。

签名:

getFiles: function(self: Content, path: string): {string}

参数:

参数名类型描述
pathstring要搜索的目录的路径。

返回值:

返回类型描述
table包含指定目录中所有文件名称的列表。

getAllFiles

类型: 函数。

描述:

  获取指定目录及其子目录中所有文件的名称。

签名:

getAllFiles: function(self: Content, path: string): {string}

参数:

参数名类型描述
pathstring要搜索的目录的路径。

返回值:

返回类型描述
table包含指定目录及其子目录中所有文件名称的列表。

clearPathCache

类型: 函数。

描述:

  清除相对路径到完整路径映射的搜索路径缓存。

签名:

clearPathCache: function(self: Content)