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 文件 就是去除头部的文件了。