Tôi có một tập tin .\input.txt
như thế này:
aaa
bbb
ccc
Nếu tôi đọc nó bằng cách sử dụng TStrings.LoadFromFile
và 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.Text
tính sẽ trả về một chuỗi chứa một dòng trống ở cuối.
\n
ký tự và hàm thêm \n
tệp vào tệp? Hoặc là chức năng thực sự thêm một \n
quyền sau khi tồn \n
tạ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 \n
khi 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.)