안녕하세요?
제가 알기로는 RenameFile은 파일명만 변경하는건줄 알았거든요
안에 데이터는 그대로 두면서 파일명만 바꾸는건줄 알았는데
해보니까 똑같은 파일도 아니고( 안에 저장된 데이터가 하나도 없고)
그냥 새로 바꾸려고하는 이름의 새파일이 만들어지더라구요
똑같은 함수내에서
RenameFile('backup.csv','backup.txt'); <- 1
..
중략
..
RenameFile('backup.txt','backup.csv'); <- 2
1번에서는 파일명만 잘바뀌다가
중략부분에서 데이터를 쓴후에 파일명을 바꾸려고 2번처럼 했더니
중략부분에서 써줬던 데이터는 하나도 없는
csv의 새로운 파일이 만들어지더라구요
뭘잘못 한걸까요?
procedure TForm1.Button4Click(Sender: TObject);
var
f :TextFile;
begin
RenameFile('e:test.txt', 'e:test.csv');
AssignFile(f, 'e:test.csv');
Append(f);
WriteLn(f, 'here''s elkein...');
CloseFile(f);
RenameFile('e:test.csv', 'e:test.txt');
end;
혹시 flush 안 시키신 것이 아닌지...
제가 알기론, TFileStream 은 Free 될 때, File 은 CloseFile 할 때 flush 할 텐데요..