我有一个文件
如果我使用
可以使用
.\input.txt
,内容如下:aaa
bbb
ccc
如果我使用
TStrings.LoadFromFile
读取它,然后使用TStrings.SaveToFile
将其写回(即使没有进行任何更改),它会在输出文件的末尾创建一个空行。var
Lines : TStrings;
begin
Lines := TStringList.Create;
try
Lines.LoadFromFile('.\input.txt');
//...
Lines.SaveToFile('.\output.txt');
finally
Lines.Free;
end;
end;
可以使用
TStrings.Text
属性来观察同样的行为,它会返回一个包含空行的字符串。
\n
字符结尾,而该函数会将\n
添加到该文件中?还是该函数在文件末尾的现有\n
后面直接添加一个\n
? POSIX 要求文本文件的所有行都以\n
终止,只是提供信息。许多软件都是按照某些标准编写的,因此许多编辑器在保存文件时默认添加丢失的终止符\n
(例如vim
、IDE 等都默认使您的文件符合 POSIX 规范)。 - Giacomo Alzetta