導航:首頁 > 文件教程 > 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

友情鏈接