files

package
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2026 License: MIT Imports: 4 Imported by: 0

README

Files 模块

Files 模块提供了文件和文件夹操作功能。

方法列表

files.isDir(path)

返回路径 path 是否是文件夹。

参数:

  • path (string): 文件路径

返回值: boolean - 如果是文件夹返回 true,否则返回 false

调用示例:

if files.isDir("/sdcard/Download") then
    print("是文件夹")
end
files.isFile(path)

返回路径 path 是否是文件。

参数:

  • path (string): 文件路径

返回值: boolean - 如果是文件返回 true,否则返回 false

调用示例:

if files.isFile("/sdcard/test.txt") then
    print("是文件")
end
files.isEmptyDir(path)

返回文件夹 path 是否为空文件夹。如果该路径并非文件夹,则直接返回 false

参数:

  • path (string): 文件夹路径

返回值: boolean - 如果是空文件夹返回 true,否则返回 false

调用示例:

if files.isEmptyDir("/sdcard/empty") then
    print("是空文件夹")
end
files.create(path)

创建一个文件或文件夹并返回是否创建成功。如果文件已经存在,则直接返回 false

参数:

  • path (string): 文件或文件夹路径

返回值: boolean - 如果创建成功返回 true,否则返回 false

调用示例:

if files.create("/sdcard/test.txt") then
    print("文件创建成功")
end
files.exists(path)

返回在路径 path 处的文件是否存在。

参数:

  • path (string): 文件路径

返回值: boolean - 如果文件存在返回 true,否则返回 false

调用示例:

if files.exists("/sdcard/test.txt") then
    print("文件存在")
end
files.ensureDir(path)

确保路径 path 所在的文件夹存在。如果该路径所在文件夹不存在,则创建该文件夹。

参数:

  • path (string): 文件路径

返回值: boolean - 如果成功返回 true,否则返回 false

调用示例:

files.ensureDir("/sdcard/test/subdir")
print("文件夹已确保存在")
files.read(path)

读取文本文件 path 的所有内容并返回。

参数:

  • path (string): 文件路径

返回值: string - 文件内容

调用示例:

local content = files.read("/sdcard/test.txt")
print("文件内容: " .. content)
files.readBytes(path)

读取文件 path 的所有内容并返回字节数组。

参数:

  • path (string): 文件路径

返回值: table - 字节数组,如果文件不存在返回 nil

调用示例:

local bytes = files.readBytes("/sdcard/image.png")
print("文件大小: " .. #bytes .. " bytes")
files.write(path, text)

把 text 写入到文件 path 中。如果文件存在则覆盖,不存在则创建。

参数:

  • path (string): 文件路径
  • text (string): 要写入的文本内容

返回值: undefined

调用示例:

files.write("/sdcard/test.txt", "Hello, World!")
print("文件已写入")
files.writeBytes(path, bytes)

把 bytes 写入到文件 path 中。如果文件存在则覆盖,不存在则创建。

参数:

  • path (string): 文件路径
  • bytes (table): 要写入的字节数组

返回值: undefined

调用示例:

local bytes = {72, 101, 108, 108, 111} -- "Hello"
files.writeBytes("/sdcard/test.bin", bytes)
print("字节数据已写入")
files.append(path, text)

把 text 追加到文件 path 的末尾。如果文件不存在则创建。

参数:

  • path (string): 文件路径
  • text (string): 要追加的文本内容

返回值: undefined

调用示例:

files.append("/sdcard/test.txt", "\n追加的内容")
print("内容已追加")
files.appendBytes(path, bytes)

把 bytes 追加到文件 path 的末尾。如果文件不存在则创建。

参数:

  • path (string): 文件路径
  • bytes (table): 要追加的字节数组

返回值: undefined

调用示例:

local bytes = {33, 34, 35} -- "!\"#"
files.appendBytes("/sdcard/test.bin", bytes)
print("字节数据已追加")
files.copy(fromPath, toPath)

复制文件,返回是否复制成功。

参数:

  • fromPath (string): 源文件路径
  • toPath (string): 目标文件路径

返回值: boolean - 如果复制成功返回 true,否则返回 false

调用示例:

if files.copy("/sdcard/source.txt", "/sdcard/dest.txt") then
    print("文件复制成功")
end
files.move(fromPath, toPath)

移动文件,返回是否移动成功。

参数:

  • fromPath (string): 源文件路径
  • toPath (string): 目标文件路径

返回值: boolean - 如果移动成功返回 true,否则返回 false

调用示例:

if files.move("/sdcard/source.txt", "/sdcard/newlocation.txt") then
    print("文件移动成功")
end
files.rename(path, newName)

重命名文件,并返回是否重命名成功。

参数:

  • path (string): 文件路径
  • newName (string): 新文件名

返回值: boolean - 如果重命名成功返回 true,否则返回 false

调用示例:

if files.rename("/sdcard/old.txt", "new.txt") then
    print("文件重命名成功")
end
files.remove(path)

删除文件或文件夹,如果是文件夹会删除整个文件夹包含里面的所有文件,返回是否删除成功。

参数:

  • path (string): 文件或文件夹路径

返回值: boolean - 如果删除成功返回 true,否则返回 false

调用示例:

if files.remove("/sdcard/test.txt") then
    print("文件删除成功")
end
files.getName(path)

返回文件的文件名。例如 files.getName("/sdcard/1.txt") 返回 "1.txt"

参数:

  • path (string): 文件路径

返回值: string - 文件名

调用示例:

local name = files.getName("/sdcard/test.txt")
print("文件名: " .. name) -- 输出: test.txt
files.getNameWithoutExtension(path)

返回不含拓展名的文件的文件名。例如 files.getName("/sdcard/1.txt") 返回 "1"

参数:

  • path (string): 文件路径

返回值: string - 不含扩展名的文件名

调用示例:

local name = files.getNameWithoutExtension("/sdcard/test.txt")
print("文件名(不含扩展名): " .. name) -- 输出: test
files.getExtension(path)

返回文件的拓展名。例如 files.getExtension("/sdcard/1.txt") 返回 "txt"

参数:

  • path (string): 文件路径

返回值: string - 文件扩展名

调用示例:

local ext = files.getExtension("/sdcard/test.txt")
print("文件扩展名: " .. ext) -- 输出: txt
files.getMd5(path)

返回文件的 MD5 值。

参数:

  • path (string): 文件路径

返回值: string - MD5 值

调用示例:

local md5 = files.getMd5("/sdcard/test.txt")
print("文件 MD5: " .. md5)
files.path(relativePath)

返回相对路径对应的绝对路径。例如 files.path("./1.png"),如果运行这个语句的脚本位于文件夹 "/sdcard/脚本/" 中,则返回 "/sdcard/脚本/1.png"

参数:

  • relativePath (string): 相对路径

返回值: string - 绝对路径

调用示例:

local absPath = files.path("./test.txt")
print("绝对路径: " .. absPath)
files.listDir(path)

列出文件夹 path 下的所有文件和文件夹。

参数:

  • path (string): 文件夹路径

返回值: table - 文件和文件夹名称数组

调用示例:

local fileList = files.listDir("/sdcard")
for i = 1, #fileList do
    print(fileList[i])
end

完整示例

-- 文件和文件夹检查
print("=== 文件检查 ===")
if files.exists("/sdcard/test.txt") then
    print("文件存在")
    if files.isFile("/sdcard/test.txt") then
        print("是文件")
    end
end

if files.isDir("/sdcard/Download") then
    print("是文件夹")
    local fileList = files.listDir("/sdcard/Download")
    print("文件夹内容: " .. table.concat(fileList, ", "))
end

-- 文件读写
print("\n=== 文件读写 ===")
files.write("/sdcard/test.txt", "Hello, World!")
local content = files.read("/sdcard/test.txt")
print("文件内容: " .. content)

-- 追加内容
files.append("/sdcard/test.txt", "\n追加的内容")
local newContent = files.read("/sdcard/test.txt")
print("新内容: " .. newContent)

-- 文件操作
print("\n=== 文件操作 ===")
files.copy("/sdcard/test.txt", "/sdcard/copy.txt")
files.move("/sdcard/copy.txt", "/sdcard/moved.txt")
files.rename("/sdcard/moved.txt", "renamed.txt")

-- 获取文件信息
print("\n=== 文件信息 ===")
local fullPath = "/sdcard/test.txt"
print("文件名: " .. files.getName(fullPath))
print("文件名(不含扩展名): " .. files.getNameWithoutExtension(fullPath))
print("文件扩展名: " .. files.getExtension(fullPath))
print("绝对路径: " .. files.path("./test.txt"))

-- 删除文件
print("\n=== 删除文件 ===")
files.remove("/sdcard/renamed.txt")
print("文件已删除")

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FilesModule

type FilesModule struct{}

FilesModule files 模块

func (*FilesModule) IsAvailable

func (m *FilesModule) IsAvailable() bool

IsAvailable 检查模块是否可用

func (*FilesModule) Name

func (m *FilesModule) Name() string

Name 返回模块名称

func (*FilesModule) Register

func (m *FilesModule) Register(engine model.Engine) error

Register 向引擎注册方法

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL