var fp:textfile;
str:String;
begin
//写文件
assignfile(fp, 'c:\abc.txt');
rewrite(fp);
writeln(fp, 'this is the firstline');
writeln(fp, 'this is the secondline');
closefile(fp); //读文件
assignfile(fp, 'C:\abc.txt');
reset(fp);
readln(fp, str);
showmessage(str);
closefile(fp);
end;
str:String;
begin
//写文件
assignfile(fp, 'c:\abc.txt');
rewrite(fp);
writeln(fp, 'this is the firstline');
writeln(fp, 'this is the secondline');
closefile(fp); //读文件
assignfile(fp, 'C:\abc.txt');
reset(fp);
readln(fp, str);
showmessage(str);
closefile(fp);
end;
DELPHI是以PASCAL为基础的WINDOWS化语言,自然支持PASCAL的一般语法和函数。在DELPHI中要操作文本文件和PASCAL差不多,不过它不是用TEXT类型,它定义为TEXTFILE的类型。看下面的一段程序:写操作/读操作。
写操作......procedure TForm1.Button1Click(Sender: TObject);
Var
F : TextFile;
I : Word;
P : Pstring;
FileName : String;
begin
FileName := 'C:\WINDOWS\TEMP\TextFileTest.TXT';
AssignFile(F, FileName);
// 将文件名和文件指针联系起来。
ReWrite(F);
For I := 0 to 10 do
Writeln(F, IntToStr(I));
// 在每一行开头写上一个数字行号,共写10个。
CloseFile(F);
// 千万记得要关闭文件。
end;
回页首
读操作......procedure TForm1.Button2lick(Sender: TObject);
Var
F : TextFile;
FileName, S : String;
begin
FileName := 'C:\WINDOWS\TEMP\TextFileTest.TXT';
If FileExists(FileName) then
begin
AssignFile(F, FileName);
ReSet(F);
While Not Eof(F) do
begin
Readln(F, S);
S := Trim(S);
ShowMessage(S);
end;
CloseFile(F);
end
else
ShowMessage('文件不存在。');
end;
var
qFileStream: TFileStream;
buffer: string;
begin
qFileStream := TFileStream.Create('Test.txt', fmCreate);//这里用打开写方式。可设其他常量值看帮助。
qFileStream.Seek(0, sofromEnd);
Buffer := 'I here add a string';//写入文件的字符串
qFileStream.Write(Buffer[1], Length(Buffer));//缓冲区首址 AND 写入个数。
//qFileStream.Write(Pchar(Buffer)^, Length(Buffer));这样也行
qFileStream.Free;//别忘了释放
end;//read
var
qFileStream: TFileStream;
buffer: string;
qFileSize: Integer;
begin
qFileStream := TFileStream.Create('Test.txt', fmOpenRead);
qFileSize := qFileStream.Seek(0, sofromEnd);
SetLength(Buffer, qFileSize);//设置你要读的字符个数。
qFileStream.Seek(0, SoFromBeginning);
qFileStream.Read(Pchar(Buffer)^, qFileSize);
qFileStream.Free;
Memo1.Text := Buffer;
end;