我要解析400个小文本文件(小于30 kb)。每个文件的行数从100到250不等。行长度从8个字符到大约1200个字符不等。
我现在的程序读取目录,依次打开每个文件,然后使用readln逐行解析每个文件。
我想要做的是将每个文件 *一次 读入内存,然后找一些 访问并解析每一行* ,同时整个文件在内存中。
有人可以建议哪种拉撒路功能最适合用来实现这个目标吗?
谢谢。
答案 0 :(得分:1)
正如@ 500 - 提到的内部服务器错误,将每个文本文件加载到Stringlist中是最简单的方法。
MyList := TStringList.Create;
MyList.LoadFromFile('file.txt');
答案 1 :(得分:0)
如果您准备自己处理换行符,请将它们加载到TmemoryStream中。在内存流中,您可以一次访问一个字节,非常适合解析。
答案 2 :(得分:0)
@nepb完成后忘记释放MyList:
MyList := TStringList.Create;
MyList.LoadFromFile('file.txt');
//Do stuff with MyList
MyList.free;