Tôi có một tập tin .\input.txtnhư thế này:
aaa
bbb
ccc
Nếu tôi đọc nó bằng cách sử dụng TStrings.LoadFromFilevà viết lại (ngay cả khi không áp dụng bất kỳ thay đổi nào) TStrings.SaveToFile, nó sẽ tạo ra một dòng trống ở cuối tệp đầu ra.
var
Lines : TStrings;
begin
Lines := TStringList.Create;
try
Lines.LoadFromFile('.\input.txt');
//...
Lines.SaveToFile('.\output.txt');
finally
Lines.Free;
end;
end;
Hành vi tương tự có thể được quan sát bằng cách sử dụng thuộc TStrings.Texttính sẽ trả về một chuỗi chứa một dòng trống ở cuối.
\nký tự và hàm thêm \ntệp vào tệp? Hoặc là chức năng thực sự thêm một \nquyền sau khi tồn \ntại ở cuối tập tin? POSIX yêu cầu các tệp văn bản phải có tất cả các dòng của chúng bị chấm dứt bởi a \n, chỉ fyi. Rất nhiều phần mềm được viết để làm theo một số tiêu chuẩn để lý do tại sao rất nhiều biên tập viên sẽ bổ sung chấm dứt thiếu \nkhi bạn lưu các tập tin theo mặc định (ví dụ vim, IDE vv tất cả theo mặc định làm cho tập tin của bạn POSIX-compliant.)