合并多个文件,用什么做文件分隔符号,以后还要分割文件,如何分隔(200分)

  • 主题发起人 主题发起人 大冷血
  • 开始时间 开始时间

大冷血

Unregistered / Unconfirmed
GUEST, unregistred user!
各位老兄,
1,合并多个文件,用什么做文件分隔符号,
2,以后还要分割文件,如何分隔
 
1.随机生成一组数字,再加上你的名字共20字节来当作分割符.
2.读入文件,查找字符串,找到了结束文件,读下一个.
 
所谓的文件分隔符号是自己定义的。以下给你示范一个:
procedure InitPack; //初始化打包文件 文件名为MyBack.pak
var f:File;
begin
AssignFile(f,'MyBack.pak');
ReWrite(f,1);
CloseFile(f);
end;

procedure PackFile(FileName: string); //对FileName文件打包
var
FromF,ToF:File;
fsize:Longint;
NumRead,NumWrite:Integer;
ss1,ss2,ss3:string[100];
buf:array[1..2048] of char;
begin
AssignFile(ToF,'MyBack.pak'); //打包文件名MyBack.pak
AssignFile(FromF,FileName);
ReSet(ToF,1); //打开打包文件
ReSet(FromF,1); //打开被打包文件
fsize:=FileSize(ToF);
Seek(ToF,fsize);
fsize:=FileSize(FromF); //获取被打包文件长度
Seek(FromF,0);
ss1:='CHANGE'; //打包文件标志
ss2:=FileName;
Str(fsize,ss3); //将文件长度值变为字符串
BlockWrite(ToF,ss1,10); //写出入标志至打包文件中
BlockWrite(ToF,ss2,30); //写入文件名至打包文件中
BlockWrite(ToF,ss3,20); //写入文件长度至打包文件中
repeat //写文件
BlockRead(FromF,Buf,SizeOf(Buf),NumRead);
BlockWrite(ToF,Buf,NumRead,NumWrite);
until (NumRead=0)or(NumWrite<>NumRead);
CloseFile(ToF);
CloseFile(FromF);
end;

procedure DePackFile(FileName:string); //对文件解包
var
FromF,ToF:File;
ss1,ss2,ss3:string[40];
fsize:longint;
NumRead,NumWrite,nn:Integer;
buf:array[1..2048] of char;
begin
AssignFile(FromF,FileName);
ReSet(FromF,1);
while not Eof(FromF) do
begin
BlockRead(FromF,ss1,10,nn); //读取标志
BlockRead(FromF,ss2,30,nn); //读取文件名称
BlockRead(FromF,ss3,20,nn); //读取文件长度
if nn<20 then //如果文件长度不对
begin
ShowDlg('文件尺寸不对');
CloseFile(FromF);
Exit;
end;
fsize:=StrToInt(ss3);
if ss1<>'CHANGE' then //检查标志是否正确
begin
ShowDlg('标志不对');
CloseFile(FromF);
Exit;
end;
AssignFile(ToF,ss2);
ReWrite(ToF,1);
repeat //解开一个文件
if fsize>2000 then
begin
nn:=2000;
fsize:=fsize-2000;
end else
begin
nn:=fsize;
fsize:=0;
end;
BlockRead(FromF,Buf,nn,NumRead);
BlockWrite(ToF,Buf,NumRead,NumWrite);
until (fsize=0)or(NumWrite<>NumRead);
CloseFile(ToF);
end;
CloseFile(FromF);
end;

以上代码好好看看。我做了一个控件,挺好用的。以上代码是我控件
其中的一部分,但足够解决你的问题了
 
gotosea 老兄,
我想合并多个 word 文件,如何实现,是不是
word 文件分隔符号和 txt 的文件不一样
 
什么文件都可以,我试过了,好像realplay格式的有点问题
 
我有一个文件合并的源程序,是几个类的,不错,我试过了而且加了一些功能。
要源代码吗?
 
gotosea,是个大好人!
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部