Lua 如何快速的读取一个文件

Stella981
• 阅读 496

如何使用Lua 优雅并快速的读取一个文件的全部内容?

在这里我们可以看一下代码:

local open = io.open
local insert = table.insert
local concat = table.concat

function load_file(filename)
    local file = open(filename, 'rb')
    if not file then
        return
    end
    local f = {}
    for line in file:lines("l") do
        insert(f, line)
    end
    file:close()
    return concat(f, '\n')
end

print('file size = ', #load_file('filename'))

这里使用time命令行工具进行5次读取计时:

bogon:~ candy$ time lua main.lua 
file size =     5570813

real    0m0.052s
user    0m0.037s
sys    0m0.013s
bogon:~ candy$ time lua main.lua 
file size =     5570813

real    0m0.051s
user    0m0.037s
sys    0m0.012s
bogon:~ candy$ time lua main.lua 
file size =     5570813

real    0m0.052s
user    0m0.037s
sys    0m0.012s
bogon:~ candy$ time lua main.lua 
file size =     5570813

real    0m0.054s
user    0m0.038s
sys    0m0.014s
bogon:~ candy$ time lua main.lua 
file size =     5570813

real    0m0.052s
user    0m0.037s
sys    0m0.012s
bogon:~ candy$
点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
徐小夕 徐小夕
4年前
3分钟教你用原生js实现具有进度监听的文件上传预览组件
本文主要介绍如何使用原生js,通过面向对象的方式实现一个文件上传预览的组件,该组件利用FileReader来实现文件在前端的解析,预览,读取进度等功能,并对外暴露相应api来实现用户自定义的需求,比如文件上传,进度监听,自定义样式,读取成功回调等。组件设计架构如下:(https://imghelloworld.osscnbeijing.
Wesley13 Wesley13
3年前
lua作为配置文件的读取方法
structPictureCfg{   stringname;   floatrotation;};1,全局配置\picture0cfg.luaname"dragon.png"rotation180//全局配置的读取voidLoadPictureCfg(vector<PictureCfg&r
Stella981 Stella981
3年前
Lua 与php 性能测试说明文档
Lua 与php性能测试说明文档测试环境   192.168.10.30获取同一物品信息  读取redis localhost:6379PhpnginxredisLuanginxredisngx\_lua将lua嵌入到nginx,让nginx执行lua脚本,高并
Stella981 Stella981
3年前
PhoneGap, JQuery 的第一个例子
  上周用PhoneGap和JQuery做了一个Android的例子。这个例子用来说明如何读取一个应用的配置文件。  开发环境的搭建就不在这里描述了。  先看一下代码布局:   !(http://static.oschina.net/uploads/space/2012/0312/143111_M4qy_145002.png)
Wesley13 Wesley13
3年前
PHP如何快速读取大文件
PHP如何快速读取大文件在PHP中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file\_get\_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心,下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。需求需求有一个
Stella981 Stella981
3年前
Lua 5.3
SOL2.2是一个快速、简单的C与LUA的绑定器。如果确定要在你的程序里面同时运行Lua和C,SOL是一个高性能的绑定器,是一个API使用方便的GOTO框架。简单看一下特点:这个链接到(未链接)大部分API。您也可以直接浏览API或阅读教程。要了解有关usertypes的实现的详细信息,请参阅此处要了解如何处理函数参数,请参阅此注释。看
Stella981 Stella981
3年前
Python计算大文件行数方法及性能比较
如何使用Python快速高效地统计出大文件的总行数,下面是一些实现方法和性能的比较。1.readline读所有行使用readlines方法读取所有行:defreadline_count(file_name):returnlen(open(file_name).readlines())
小万哥 小万哥
11个月前
C 语言文件处理全攻略:创建、写入、追加操作解析
C语言中的文件处理在C语言中,您可以通过声明类型为FILE的指针,并使用fopen()函数来创建、打开、读取和写入文件:cFILEfptr;fptrfopen(filename,mode);FILE基本上是一个数据类型,我们需要创建一个指针变量来使用它(f
小万哥 小万哥
11个月前
C 语言文件读取全指南:打开、读取、逐行输出
C语言中的文件读取要从文件读取,可以使用r模式:cFILEfptr;//以读取模式打开文件fptrfopen("filename.txt","r");这将使filename.txt打开以进行读取。在C中读取文件需要一点工作。坚持住!我们将一步一步地指导您。