4

在运行打开和读取文件之前让 Lua 打印时遇到问题。这将打印字符串 "Reading File..." 和 "File Read!" 但只有在它完成 getFileString() 函数之后。我希望它在运行之前打印“正在读取文件...”。我把它缩小到 file:read("*a") ,它弄乱了我(更大的)脚本中的所有打印。

function getFileString(path)

    local file, err = io.open(path, "r")
    local all = file:read("*a")
    file:close()

    return all

end

function main()

    local directory = "C:\\Documents and Settings\\All Users\\Documents\\"

    print("Reading File...")
    local file_all = getFileString(directory.."myFile.txt")
    print("File Read!\n")

end

main()

我是否功能化似乎也无关紧要。我应该提一下,这主要是因为我正在阅读一个 150MB 左右的文件。

4

1 回答 1

6

我认为输出只是缓冲。尝试io.stdout:setvbuf('no')在打印前添加,这应该会关闭输出缓冲。

于 2012-10-26T17:48:16.273 回答