有一工作每天要从一固定的文件夹中取出TXT文件,然后将TXT中的资料取出进行加工。因为加工的过程是比较耗时的,我现在设想:1、先遍历该文件夹,将所有符合条件的记录取出来,将文件名加载到一个列表中。2、根据文件的数量,每10个文件建立一个线程去处理。目前可以建立线程工作,但是怎么样将文件的序号如1~10,11~20传给每个相对独立的线程呢?还有就是线程的异常处理要怎么处理,希望能有详细的代码说明。 var
i:integer;
sl:Tstringlist;
begin
for i:= 0 to memo1.count-1 do
begin try
sl:=Tstringlist.Create;
sl.LoadFromFile(Memo1.Lines[i]);
memo2.Lines.Add(sl.Text);
finally
sl.Free;
end; end;
i:integer;
sl:Tstringlist;
begin
for i:= 0 to memo1.count-1 do
begin try
sl:=Tstringlist.Create;
sl.LoadFromFile(Memo1.Lines[i]);
memo2.Lines.Add(sl.Text);
finally
sl.Free;
end; end;
关键 你是你要建立磁盘文件的一个映射关系。 比较好的数据结构
线程的 处理详细的 看下相关的书吧。。
程序应优化的是这个部分。。
如果是大批量的文件就要建立 文件索引增加文件查找速度。。