如何读取文本文件并将数据存储在数组中

时间:2015-02-10 05:30:00

标签: lua

我想从txt文件中读取数据,并将其存储在数组中,因此我可以将其编入索引。文本文件是这样的:

0.1
0.2
0.3
0.4
0.5
0.6

数据将存储在temp这样的数组中,因此我可以按temp(0)索引特定值,有人可以告诉我该怎么做吗?

3 个答案:

答案 0 :(得分:5)

下面的代码是Yu Hao给出的代码的变体。它更简单,并且在循环后不会打开任何文件:f:lines()在循环结束时不会关闭文件。

local temp = {}
for line in io.lines("t.txt") do
    table.insert(temp, tonumber(line))
end

答案 1 :(得分:3)

local f = io.open("t.txt")
local temp = {}
for line in f:lines() do
    table.insert(temp, tonumber(line))
end

请注意,在Lua中,数组使用从1开始的索引。

答案 2 :(得分:0)

使用" * a" ,读取函数,它应该读取整个文件,例如,将每行存储在一个数组中,你可以使用io:lines() - 其中每个调用给你一个新行,希望这有帮助

local file = io.open("your-file-name", "r");
local data = file:read("*a")
local file = io.open("file-name", "r");
 local arr = {}
 for line in file:lines() do
    table.insert (arr, line);
 end