mfs文件读写

# 文件路径 local mfs = require("mfs") local basedir = "base" -- 创建文件夹,检查是否成功 local s,res = mfs.mkdir(basedir) 文件创建在该目录下: /mnt/user_data/mnbox/user/scripts/user # mfs 模块的功能函数及其用途 ## 1.mfs.mkdir(path) 2.功能: 创建一个新的目录。 3.参数: 4.path: 目录的路径。 ## 2.mfs.store(path, data) 6.功能: 将数据写入指定文件,覆盖文件原有内容。 7.参数: 8.path: 文件的路径。 9.data: 要写入的数据。 ## 3.mfs.load(path) 11.功能: 读取指定文件的内容。 12.参数: 13.path: 文件的路径。 ## 4.mfs.append(path, data) 15.功能: 将数据追加到文件末尾。 16.参数: 17.path: 文件的路径。 18.data: 要追加的数据。 ## 5.mfs.readdir(path) 20.功能: 读取目录下的所有文件和子目录的信息。 21.参数: 22.path: 目录的路径。 local files = mfs.readdir(userdir); -- 读取文件夹 log("table length = " .. table_length(files)); -- 判断文件夹是否为空,删除空文件夹 if (table_length(files) == 0) then log("empty dir"); mfs.rmdir(userdir); return; end -- 遍历打印文件夹下的所有文件和文件夹 for i, file_desc in pairs(files) do -- print("file name: " .. file_desc.name); if (file_desc.isdir) then log(file_desc.name .. " is a directory"); else log(file_desc.name .. " is a file"); end end ## 6.mfs.rmdir(path) 24.功能: 删除文件夹。 25.参数: 26.path: 目录的路径。 这些函数提供了基本的文件和目录操作功能,使你能够在 Lua 脚本中管理文件系统。使用这些函数可以执行创建、删除目录,读写文件,以及列出目录内容等操作。 ## 7.mfs.remove(path) 24.功能: 删除文件。 25.参数: 26.path: 目录的路径 ```lua local mfs = require("mfs"); local basedir = "base"; -- 创建文件夹 mfs.mkdir(basedir); local mydata = "Lua is good"; -- 将mydata数据写入文件, 会覆盖文件原有内容 mfs.store(basedir .. "/testfile", mydata); -- 读取文件内容 local data = mfs.load(basedir .. "/testfile"); -- 打印读取到的内容 log(data); local bytes = string.char(0x30, 0x31, 0x32, 0x11, 0x22, 0xAA); mfs.store(basedir .. "/binfile", bytes); local data = mfs.load(basedir .. "/binfile"); print(data:byte(1, -1)); mfs.mkdir(basedir .. "/sub_dir"); mfs.store(basedir .. "/sub_dir/subfile", "Hello, subdir!"); mfs.mkdir(basedir .. "/sub_dir2"); for i = 0, 10 do local appdata = "Hello" .. i .. "\n"; -- 以追加的形式将数据添加到文件末尾,原有内容依然存在 mfs.append(basedir .. "/test_append", appdata); end -- 传入参数是个表,返回表的长度 local function table_length(tbl) local count = 0; -- 循环遍历表,计算表长度 for k, v in pairs(tbl) do count = count + 1; end return count; end -- 读取文件夹下所有文件名 local function walk_fs(userdir) log("\nwalk dir:" .. userdir); local files = mfs.readdir(userdir); -- 读取文件夹 log("table length = " .. table_length(files)); -- 判断文件夹是否为空,删除空文件夹 if (table_length(files) == 0) then log("empty dir"); mfs.rmdir(userdir); return; end -- 遍历打印文件夹下的所有文件和文件夹 for i, file_desc in pairs(files) do -- print("file name: " .. file_desc.name); if (file_desc.isdir) then log(file_desc.name .. " is a directory"); else log(file_desc.name .. " is a file"); end end end -- 调用 walk_fs(basedir); ``` cp -fv /mnt/user_data/mnbox/program/bin/workparh.json /tmp/