====================================================
Delphi操作文件的一般步骤:
1)关联文件:
AssignFile(var F; FileName :string);
2)初始化文件:
Append(var F :Text);
//只写,于文件最后追加数据
Reset(var F [; RecSize :Word]);
//只读,文件必须存在,文件指针置于开头
//第二参数指定指针移动的大小,即传输数据的大小,对于无类型文件有效。对于类型文件,则按具体类型的大小,而文本文件默认128字节
Rewrite(var F :File [; Recsize :Word]);
//覆盖只写,若文件已存在,则删之重建空文件写
//若文件不存在,则新建
3)读写文件:
Eof(var F):Boolean; //End of File? 文件指针是否处于文件结尾
Eoln[(var F :Text)]:Boolean; //End of line?
Seek(var F; N :Longint); //对于文本文件无效
//移动文件指针N个单位,N为正则向前移,N为负则向后移
SeekEof[(var F :Text)]:Boolean;
//同Eof,区别在于本函数忽略空白符
SeekEoln[(var F :Text)]:Boolean;
//同Eoln,区别在于本函数忽略空白符
FilePos(var F):Longint; //文件必须打开
//获取文件指针当前位置,若在文件开头则返回0
FileSize(var F):Integer; //文件必须打开
//获取文件大小,返回的大小并非根据字节计算,而是根据传递数据时记录的大小计算。只有当Reset(F,1);的第二个参数为1时FileSize才是正真的文件大小。
Read(F, v1 [, v2, v3...vn]);
//读取一个数据存储于参数v1中,若一次读取多个数据,则可带多个参数。若声明的是类型文件,则参数的类型和类型文件的类型一致;若声明的是文本文件,则参数基本上可以是任何基本数据类型。当读入多个数值时,Read方法将假定数值是用一个或多个空格、制表符(#9)或回车(#13#10)隔开的,而不是逗号、分号或其它字符。
Readln([var F :Text;] v1 [, v2, ...,vn]);
//读取一行数据,只适用于文本文件
Write(F, v1 [, v2,...,vn]); //往文件中添加内容
Writeln([var F :Text;] p1 [, p2,...,pn]);
//写一行数据,只适用于文本文件
4)关闭文件:
CloseFile(var F);
//解除文件关联,一般置于finally语句块中
====================================================
其它相关过程函数:
Erase(var F);
//删除一个已经被AssignFile关联并且存在的文件
//如果文件被打开,请先CloseFile后再Erase,否则会出错
Truncate(var F);
//将一个文件当前文件指针之后的内容清空
ExtractFileName(const FileName :String):string;
//提取文件名,eg:参数‘F:/Download/text.txt’ 返回‘test.txt’
ExtractFilePath(const FileName :string):string;
//提取路径,eg:参数‘F:/Download/text.txt’ 返回‘F:/Download/’
ExtractFileDir(const FileName :string):string;
//提取目录,eg:参数‘F:/Download/text.txt’ 返回‘F:/Download’
ExtractFileDrive(const FileName :string):string;
//提取磁盘分区名,eg:参数‘F:/Download/text.txt’ 返回‘F:’
ExtractFileExt(const FileName :string):string;
//提取扩展名,eg:参数‘F:/Download/text.txt’ 返回‘F:/Download/’
ChangeFileExt(const FileName, Extension :string):string;
//改变文件扩展名,扩展名前需加小数点,如:‘.exe’
//此函数只是一个字符串操作而已,并非对文件进行操作
//一般和RenameFile函数搭配使用
RenameFile(const OldName, NewName :string):Boolean;
//OldName为包括路径的完整名称,NewName不包含路径
FileExists(const FileName :string):Boolean;
//文件是否存在,FileName为完整名称
DeleteFile(const FileName :string):Boolean;
//删除一个已经存在的文件
==================================