A simple question. I have 1 file test.txt in userPath().."/log/test.txt with 15 line
I wish read first line and remove first line and finally file test.txt with 14 line
Asked
Active
Viewed 456 times
0
Vinni Marcon
- 606
- 1
- 4
- 18
Nguyễn Minh Trí
- 1
- 3
-
Did you look at other similar questions on stackoverflow to see if the anwsers worked for you? Like this question https://stackoverflow.com/questions/11201262/how-to-read-data-from-a-file-in-lua – Nifim Aug 24 '20 at 17:25
1 Answers
0
local iFile = 'the\\path\\test.txt'
local contentRead = {}
local i = 1
file = io.open(iFile, 'r')
for lines in file:lines() do
if i ~= 1 then
table.insert(contentRead, lines)
else
i = i + 1 -- this will prevent us from collecting the first line
print(lines) -- just in case you want to display the first line before deleting it
end
end
io.close(file)
local file = io.open(iFile, 'w')
for _,v in ipairs(contentRead) do
file:write(v.."\n")
end
io.close(file)
there must be other ways to simplify this, but basically what I did in the code was:
Open the file in reading mode, and store all lines of text except the first line in the table
contentReadI opened the file again, but this time in Write mode, causing the entire contents of the file to be erased, and then, I rewrote all the contents stored in the table
contentReadin the file.
Thus, the first line of the file was "deleted" and only the other 14 lines remained
Vinni Marcon
- 606
- 1
- 4
- 18