【Luat-air105】4.1 文件系统fs

1 前言

尝试在air105的根目录下创建文件并读写

2 代码

t4_fs_info.lua

function get_fs_info()
    log.info("fsize", fs.fsize("/luadb/main.luac"))
    log.info("fsstat", fs.fsstat(""))
    log.info("fsstat", fs.fsstat("/luadb/"))    -- 注意不能用"/luadb",要加上斜杠
end

-- 记录开机次数
function fs_test()
    f = io.open("/boot_time", "rb")
    c = 0
    if f then
        data = f:read("*a")
        log.info("fs", "data", data, data:toHex())
        c = tonumber(data)
        f:close()
    end
    log.info("fs", "boot count", c)
    c = c + 1
    f = io.open("/boot_time", "wb")
    --if f ~= nil then
    log.info("fs", "write c to file", c, tostring(c))
    f:write(tostring(c))
    f:close()
    --end

    if fs then
        log.info("fsstat", fs.fsstat(""))
    end
end

function t4_fs_root_write()
    print("init")
    -- f = io.mkfs("youkai")
    f = io.open("/youkai", "wb")
    print(type(f))
    --if f ~= nil then
    c = "hi,langzhao"
    log.info("fs", "write c to file", c)
    f:write(tostring(c))
    f:close()

    f = io.open("/youkai", "r")
    if f then
        data = f:read("*a") -- *a表示文件,l表示行
        -- https://gitee.com/openLuat/LuatOS/blob/master/lua/src/loslib.c  g_read()
        print("file data : ",data)
        f:close()
    end

    -- air 105根目录""下可以创建文件并读写
end

-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "fsdemo"
VERSION = "1.0.0"

log.info("main", PROJECT, VERSION)

-- sys库是标配
_G.sys = require("sys")
require("t4_fs_info")


--添加硬狗防止程序卡死
wdt.init(15000)--初始化watchdog设置为15s
sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗

get_fs_info()

sys.taskInit(function()

    -- 每次开机,把记录的数值+1
    fs_test()

    t4_fs_root_write()

    while 1 do
        sys.wait(500)
    end
end)

-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

3 结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值