Tcl_SetObjLength: 负长度请求错误

Tcl_SetObjLength: negative length requested error

我有一个包含大约 4200 万行的文件,我正尝试在 TCL 中读取和解析该文件。但是我在打印 D1 后立即收到以下错误消息。还有其他读取大文件的方法吗?

proc test {} {
        set rpt "<file_name>"
        puts "D0"
        set lines [open $rpt r]
        puts "D1"
        set Data [read $lines]
        puts "D2"
        close $lines
}

输出错误:

D0
D1
Tcl_SetObjLength: negative length requested: -2147483646 (integer overflow?)
set fp [open inputfile r]
# Read one line at a time
while {[gets $fp line]!=-1} {
    puts $line
}
close $fp