请问各位高手  咋样用delphi 中的语句把多个文本文件合并为一个文本文件阿
例如:目录:c:\接收数据\      下有文本文件:1.txt,2.txt,3txt(该目录下均是文本文件)咋样合并为一个文本文件:zong.txt 阿
我做的是用ftp来传输文件到服务器(指定目录),然后把所有传输到的数据都导入sql相应的数据库表中,因为各个公司传过来的都是不同文件名的文本文件,所以我想把这些文本文件合并为一个文本文件,然后清空各个文本文件(不是zong.txt)的内容  请问大家咋办阿?

解决方案 »

  1.   

    补充一下表的形式:1.txt   11|aa|bb|cc\n
                              22|bb|cc|dd\n
                        
                      2.txt   33|cc|dd|ee\n
                              44|dd|ee|ff\n
     
                      3.txt   55|ee|ff|gg\n
                              66|ff|gg|hh\n
       其中“|”为字段分隔符,“\n”为换行符
      

  2.   

    用TStringList类
    vStringListTemp.LoadFromFile() 载入文件
    vStringListZong.AddStrings(vStringListTemp) 追加文件
    //
    vStringListZong.SaveToFile() 保存文件
      

  3.   

    copy c:\接收数据\*.txt zong.txt
      

  4.   


    我想问一下如果“c:\接收数据\” 中的文本文件个数不确定,即:客户端增加一个用户(不同的公司或部门),数据传输过来后,服务器指定的接收数据目录'c:\接收数据\'就增加一个相应文本文件,现在增加的文件名称不确定,能不能有办法使 'c:\接收数据\'下的所有的文本文件一起合并成一个文本文件阿?   上面高手vividw(vividw)的方法可不可行啊????
      

  5.   

    dos命令copy 肯定可以。。
    也可以用api 或者 winexec等执行外部命令
      

  6.   

    如果文件不确定,那就针对存在的每个.txt进行遍历就可以了
    FindFirstFile..
    FindNext..
      

  7.   

    copy c:\接收数据\*.txt zong.txt 语句是不是直接添加到button1.click事件中就可以阿,我直接用button1控件运行通不过阿,还有 lishu2002(狸鼠)说的“针对存在的每个.txt进行遍历”能不能具体点啊,我刚学delphi 所以很多东西都不懂,请包涵一下!
      

  8.   

    利用stringlist 或者流来进行都可以
      

  9.   

    关于流我不咋懂,能不能具体点啊,最好有个实例,这样就容易看了,就用“c:\接收数据\” 目录下的所有文本文件合并为文本文件:zong.txt  能不能用这给个实例阿,先在这儿谢谢大家!
      

  10.   

    Function Cjt_AddtoFile(SourceFile,TargetFile:string):Boolean;
    var
    Target,Source:TFileStream;
    MyFileSize:integer;
    begin
    try
    Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareExclusive);
    Target:=TFileStream.Create(TargetFile,fmOpenWrite or fmShareExclusive);
    try
    Target.Seek(0,soFromEnd);//往尾部添加资源
    Target.CopyFrom(Source,0);
    MyFileSize:=Source.Size+Sizeof(MyFileSize);//计算资源大小,并写入辅程尾部
    Target.WriteBuffer(MyFileSize,sizeof(MyFileSize));
    finally
    Target.Free;
    Source.Free;
    end;
    except
    Result:=False;
    Exit;
    end;
    Result:=True;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Cjt_AddtoFile('C:\数据接收\*.txt','C:\数据接收\zong.txt');
    end;end.
    出现错误:cannot open file "'C:\数据接收\*.txt'" 文件名、目录名、或卷标语法不正确
    请高手指正一下这是咋回事阿(我的意思是把'C:\数据接收\‘目录下的所有文本文件内容都添加到“zong.txt”中)
      

  11.   

    WinExec('copy c:\接收数据\*.txt zong.txt',SW_SHOW);
      

  12.   

    vividw(vividw)
    我在一个button1的click事件中执行你的语句,zong.txt没有反应,没有变化阿
    能不能谈一下啊
      

  13.   

    vividw(vividw)
    该语句是不是只能在dos状态下才行啊,好像在delphi中不行啊
      

  14.   

    vividw(vividw)
    谢谢你,成功了,但语句是:WinExec('command.com /c copy c:\sj\*.txt c:\sj\zong.txt',SW_SHOW);