Delphi 2009 기준. (String이 기본적으로 WideString)
uses SysUtils 필요.
function ReadUTF8File(Path: String): String;
var
fStream: TFileStream;
Buffer: TBytes;
begin
Result:='';
if not FileExists(Path) then Exit;
fStream:=TFileStream.Create(Path, fmOpenRead);
try
SetLength(Buffer, fStream.Size);
fStream.ReadBuffer(Pointer(Buffer)^, Length(Buffer));
Result:=TEncoding.UTF8.GetString(Buffer, 0, fStream.Size);
finally
FreeAndNil(fStream);
end;
end;
var
fStream: TFileStream;
Buffer: TBytes;
begin
Result:='';
if not FileExists(Path) then Exit;
fStream:=TFileStream.Create(Path, fmOpenRead);
try
SetLength(Buffer, fStream.Size);
fStream.ReadBuffer(Pointer(Buffer)^, Length(Buffer));
Result:=TEncoding.UTF8.GetString(Buffer, 0, fStream.Size);
finally
FreeAndNil(fStream);
end;
end;
'Delphi' 카테고리의 다른 글
[Delphi] 문자가 배열에 속하는지 비교 (0) | 2010.05.24 |
---|---|
[Delphi] Memory leak - TThemeServices (0) | 2010.05.18 |
[Delphi] 콘솔 어플리케이션(Console Application) 프로젝트에서 아이콘 적용하기. (0) | 2010.05.18 |
[Delphi] DLL Injection 후에 폼을 다른 윈도우의 Dialog 처럼 띄우기 (0) | 2010.05.14 |
[Delphi] 보이지 않는 콘솔 프로젝트 (invisible console) (0) | 2010.05.06 |