Lua-文件操作
简单模式和完全模式
- 简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。
- 完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法。
打开文件
1 |
file = io.open(filename [, mode]) |
mode 选项
| 模式 | 简介 |
|---|---|
| r | 只读,文件必须存在。默认。 |
| w | 只写,文件存在,则写入时覆盖原有内容。文件不存在,则创建文件。 |
| a | 附加写入,文件存在,则从文件末尾写入。文件不存在,则创建文件。 |
| b | 二进制模式,与r/w/a结合使用。 |
| + | 表示文件可读写,与r/w/a结合使用。 |
1 |
file01 = io.open("test.lua", "r")
|
从文件读取数据
1 |
file01 = io.open("test.lua", "r")
|
向文件写入数据
1 |
file01 = io.open("test.lua", "a")
|
关闭文件
1 |
file01 = io.open("test.lua", "r")
|
方法
简单模式,io的方法
调用方式:io.方法名()。如:io.read()
- read()
输入文件一行数据,并把游标指向下一行开始地址。
参数:
| 参数 | 说明 |
|---|---|
| “*l” | 读取下一行,在文件尾 (EOF) 处返回 nil。默认。 |
| “*n” | 读取一个数字并返回它。 |
| “*a” | 从当前位置读取整个文件。 |
| number | 返回一个指定字符个数的字符串,或在 EOF 时返回 nil。 |
- tmpfile()
返回一个临时文件句柄,该文件以更新模式(附加)打开,程序结束时自动删除。
- type(file)
检测file是否一个可用的文件句柄。
- flush()
向文件写入缓冲中的所有数据。
- lines(optional filename)
打开指定的文件filename为只读模式并返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回nil,并自动关闭文件。
若不带参数时io.lines() io.input():lines(); 读取默认输入设备的内容,但结束时不关闭文件
完全模式,文件句柄的方法
调用方式:文件句柄:方法名()。如:file:read()。
- read()
作用和参数与简单模式一致。
- seek(optional whence, optional offset)
设置和获取当前文件位置,成功则返回最终的文件位置(按字节),失败则返回nil加错误信息。
参数 whence 取值:
| 值 | 说明 |
|---|---|
| “cur” | 从当前位置开始。默认 |
| “set” | 从文件头开始 |
| “end” | 从文件尾开始 |
offset,偏移量,默认为0。
不带参数file:seek()则返回当前位置。
file:seek(“set”)则定位到文件头。
file:seek(“end”)则定位到文件尾并返回文件大小。
- flush()
向文件写入缓冲中的所有数据。
Lua-文件操作的更多相关文章
- Lua文件操作和串行化
function n_serialize(data) if type(data)=="number" then io.write(data,"\n") else ...
- 关于cocos2dx手游lua文件加密的解决方式
非常多使用cocos2dx+lua做游戏的同学.都会想到一个问题,我的游戏一旦公布,如何才干保证的我脚本代码不被破解.不泄露代码.尽管这和开源.共享的原则不合.可是代码也是coder的劳动成果,理应得 ...
- cocos2dx-lua 文件操作
print("开始") --检查文件是否存在 local path = "ABC.txt" local fileExist = cc.FileUtils:get ...
- 修改Unity中Lua文件的默认打开程序
项目中引用了XLua,而Lua文件又是以txt文件结尾的,当修改系统的扩展脚本编辑器为vs后双击lua文件(xx.txt)默认也使用vs打开了,无提示的黑白文本编辑 昨办? -. 后来看到网上有写Un ...
- Lua------------------改善Unity编辑器对Lua文件的支持
原创 2017年03月10日 18:44:22 标签: Unity / lua / 编辑器 952 当前版本的Unity(截至Unity5.5.x)中TextAsset类不支持后缀为lua的文件,将l ...
- lua常用操作
1 .Lua生成随机数: Lua 生成随机数需要用到两个函数:math.randomseed(xx), math.random([n [, m]]) 1. math.randomseed(n) 接收一 ...
- 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档
.net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...
- 野路子出身PowerShell 文件操作实用功能
本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)
========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...
随机推荐
- ES6 之 数值扩展
1.ES5 // Number类型重写了valueOf() toLocaleString() toString('进制')方法 let a = 10 console.log(a.valueOf()); ...
- kafka 零拷贝
kafka通过零拷贝实现高效的数据传输 https://blog.csdn.net/lxlmycsdnfree/article/details/78973864 Kafka零拷贝 https://bl ...
- java8 String intern()
public class Solution { public static void main(String[] args) { String a = new String("he" ...
- JAVA课程设计——俄罗斯方块
0.负责模块为可视化界面,技术栈为 (1)异常处理 (2)多线程 (3)文件存储 (4)Java swing 1.登陆界面 我的代码 import java.awt.Color; import jav ...
- uni-app文章详情-富文本展示 优雅展示代码块
在uni-app开发中,开发一个资讯详情页面,详情里包含图片和代码块.这时候用简单的rich-text控件已经不够用了.用官方demo里的html-parser.js也无法很好的展示代码区域.这个时候 ...
- linux设置网络三种方法
http://blog.csdn.net/u010003835/article/details/52233296
- Python上楼梯
假设一段楼梯共n(n>1)个台阶,小朋友一步最多能上3个台阶,那么小朋友上这段楼梯一共有多少种方法. (小朋友真的累,我选择电梯) 大体思路用到了递归,假如说楼梯有12阶,那么11阶时有只有一种 ...
- Spring-Boot 访问外部接口的几种方案总结
一.简介 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求,针对这一需求目前存在着三种解决方案,下面将对这三种方案进行整理和说明. 二.Spring- ...
- Python 学习笔记:根据输入年月获取该月的第一天和最后一天
目的: 给定一个时间,比如:2020.02,要求返回所输入月份的第一天及最后一天,比如:('2020.02.01', '2020.02.29') 参考博客:https://blog.csdn.net/ ...
- Oauth2.0详解及安全使用
引言:刚刚参加工作的时候接到的第一个任务就是接入新浪的联合登录功能,当时新浪用的还是oauth1.0协议.接入的时候没有对oauth协议有过多的了解,只是按照开放平台的接入流程进行开发,当时还在想这么 ...