导航:首页 > 文件教程 > lua读写文件操作

lua读写文件操作

发布时间:2021-02-08 21:16:04

1. lua语言,怎么读取,txt,文本中的中文字。在输出,怎么写

如果你的脚本编码是 gb2312的(默认notepad就是,但是有些第三方的文本编辑器默认是utf-8),那直接读写就行啦专。属(除非你的操作系统是英文版!)

local nf = io.open('new.txt')
for line in io.lines('oldfile.txt') do
nf:write(line)
end
nf.close()

如果你需要转码(gbk <->utf-8),那就需要使用 lua iconv这个库

2. 求个能用的LUA读取或者写入记事本内容的代码

--main.lua

--读
file = io.open("1.txt",'r')
t = file:read("*all")
print(t)
file:close()

--写
file2 = io.open("2.txt",'w')
file2:write(t)
file2:close()

我博客的文专章属
http://www.cnblogs.com/makegame/archive/2013/01/18/2867064.html

3. lua 如何 读取文本的每一行,输入到指定的变量里

local file = assert( io.open( "F:/filename.txt" , "r" ) );
local result = {};
for line in file:lines() do
result[#result+1] = line;
end
file:close() --看情况关闭与否

至于你说的赋给变量 就从result里面取出来就ok了,专key就是行号属。

4. lua 怎么读取txt文件最后一行内容

【1】最简单的 就是不考虑文本大小,一次性读入,然后正则匹配

localtext=[[
lua怎么读取txt文件最后一行内容?

1让io.lines走到最后然后再读取可以么?
2或者怎么用find方法找出符合条件的最后一个字符串后面的内容?
3就是怎么找到正则表达式最后一个匹配到的结果?

]]


localpath=[[d:1.txt]]

--[==[
assert(notio.open(path,"r"),"Tempfilealreadyexists!")

--写测试文件
localfile=io.open(path,"w+")
file:write(text)
file:close()
--]==]


localfile=io.open(path,"r+");
localtext=file:read("*all");
localregex="([^ ]+)$"--匹配最后一行,最后一行为空行,则找不到
localregex="([^ ]+)[ ]*$"--匹配最后一行有效文本$表示匹配字符串结尾位置
forlineinstring.gmatch(text,"([^ ]+)[ ]*$")do
print(line)
end
file:close();


【2】如果文件超大,内存不够一次性读入文件,效率低点可以 按行遍历,找到行,在检查条件等等

考虑效率 应该 利用文件指针,先计算文件大小,然后分析出 读入文件块的大小,比如说 按8K读入,然后从文件尾向前推8K,一次性读入该字块,然后搜索换行符,如果找不到 继续递推读入直到找到换行,如果有换行,就转换成第一步 正则匹配


【附录】

--文件指针操作
localcur_pos=file:seek()
file:seek("end")
file:seek("set",pos)

--由于单行读取遍历
localfile=io.open(path,"r+");
forlineinfile:lines()do
last_line=line
end

5. 使用Lua写二进制数据文件,该怎么处理

1、假设有一个很多行文本的文件,想从中读取一行,并打印到屏幕上。可以使用 io.open() 命令打开文件并读取。
命令的语法是 io.open(filename, mode)。此处将使用 r 作为 mode 的值,意指读取(read)模式。作为参考,下面是所有可用模式的列表:
引用:
r - 读取模式w - 写入模式(覆盖现有内容)
a - 附加模式(附加在现有内容之后)
b - 二进制模式
r+ - 读取更新模式(现有数据保留)
w+ - 写入更新模式(现有数据擦除)
a+ - 附加更新模式(现有数据保留,只在文件末尾附加)
第一件要做的事情就是打开文件并存为一个变量。看下面。
代码:
file = io.open("testRead.txt", "r")
*n - 读取一个数字并返回它。例:file.read("*n")
*a - 从当前位置读取整个文件。例:file.read("*a")
*l - (默认) - 读取下一行,在文件尾 (EOF) 处返回 nil。例:file.read("*l")
number - 返回一个指定字符个数的字符串,或在 EOF 时返回 nil。
2、例程:
out=io.open("text.dat","wb")
for i=0,255 do
local x=string.char(i)
out:write(x)
end
out:close()

6. lua语言怎么读取文本的数据后在删除文本里面的数据

读文件就用正常的方法就好

删文件用命令行操作符就行
os.execute("del xxxx.txt")
当然 要记得跟上你的路径

7. lua 对文本文件操作的问题

您好,这样的:写的一个关于遍历文件的程序段 记录一下咯
--[[检查所有.txt文件

比如A.txt中第一行规定有20列,但是在X行中多输入一个Tab,则输出:A表的X行填写不规范,行末有多余填写
]]

getinfo = io.popen('dir ..//file /b /s')
all = getinfo:read('*all')

local filenameList = io.open("filename.txt", "wb")
filenameList:write("Path/n")
filenameList:close()

filenameList = io.open("filename.txt", "a")
filenameList:write(all)
io.close(filenameList)
io.close(getinfo)

local filenameList = tab.Open([[../filename.txt]], "Path", false)

for index, Row in ipairs(filenameList) do
local pathlist = Row["Path"]
local rowString = string.find(pathlist, ".txt")
if rowString ~= nil and rowString ~="" then
moon.CheckRowlength(pathlist, pathlist)
end
end

io.popen('dir /b /s')是windows下的,通过执行命令行dir获得
io.popen('ls')是linux下的

8. 怎样使用lua读取文件夹内所有文件

3年半了都没人回答你,我来帮你关闭吧

9. lua语言 如何读取一个文件中的内容(里面是应用路径),然后打开对应的文件。

import java.io.*;

public class test implements Runnable{
private File file = null;

public test(File file){
this.file = file;
}

public void run(){
//此里面执行对txt文件的操作
}

public static void main(String[] a){

File f = new File("你的文件夹路径");

//返回该文件夹下所有文件的名称列表版
String[] name = f.list();

for(int i=0;i<name.length;i++){

//比较名称后四位是否权是.txt如果是则开启新的线程来处理文件
if(name[i].substring(name[i].length()-4,name[i].length()-1).equals(".txt")){
File fl = new File(name[i]);
test tst = new test(fl);
Thread t = new Thread(tst);
t.start();
}
}
}
}

10. LUA文件读取问题,大神来帮帮忙看看有没有解决方法

直接使用 file:seek函数跳转到指定字节的位置读取。

#!/usr/bin/lua
package='package'
localF
localhead_offset=512
localerr
localnewfile=io.open('a.out','w')
F,err=io.open(package,'r')

iferrthen
print("openfilefailed!:",err)
else
--单字节处理
--localbyte
--F:seek('set',head_offset)
--byte=F:read(1)
--whilebytedo
--newfile:write(byte)
--byte=F:read(1)
--end
--bytes=F:read("*a")
--newfile:write(bytes)

--整个文件处理
localbytes
F:seek('set',head_offset)
bytes=F:read("*a")
newfile:write(bytes)

F:close()
newfile:close()
end

这时生成的 a.out 文件 就是去除头部的文件了。

阅读全文

与lua读写文件操作相关的资料

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接