请问如何实现分次读取一个较大文件

例如我通过HTTP,GET到一个38k的文件,然后我想通过串口把这个文件分批次输出,每次输出的数据大小为2k,参考了HTTP例程,但在输出较大文件的部分并没有详细,还是想请教一下,谢谢

http.request("GET","www.lua.org",nil,nil,nil,30000,cbFncFile,"download.bin")

local function cbFncFile(result,prompt,head,filePath)
    log.info("testHttp.cbFncFile",result,prompt,filePath)
    if result and head then
        for k,v in pairs(headdo
            log.info("testHttp.cbFncFile",k..": "..v)
        end
    end
    if result and filePath then
        local size = io.fileSize(filePath)
        log.info("testHttp.cbFncFile","fileSize="..size)
        
        --输出文件内容,如果文件太大,一次性读出文件内容可能会造成内存不足,分次读出可以避免此问题
        if size<=4096 then
            log.info("testHttp.cbFncFile",io.readFile(filePath))
        else
            
        end
    end
    --文件使用完之后,如果以后不再用到,需要自行删除
    if filePath then os.remove(filePathend
end
请先 登录 后评论

1 个回答

晨旭 - 菜鸟

每次用io.read接口读就好了,一点点读

请先 登录 后评论
  • 0 关注
  • 1 收藏,2160 浏览
  • 郭奉孝 提出于 2019-11-16 16:46

相似问题