मेरे पास एक यूरेकालॉग बग रिपोर्ट है जो EEncodingError
दिखाती है। लॉग TFile.AppendAllText
पर इंगित करता है। मैं फोन TFile.AppendAllText
मेरा यह प्रक्रिया है:क्या कारण हो सकता है "लक्ष्य मल्टी-बाइट कोड पृष्ठ में यूनिकोड वर्ण के लिए कोई मैपिंग मौजूद नहीं है"?
procedure WriteToFile(CONST FileName: string; CONST uString: string; CONST WriteOp: WriteOpperation; ForceFolder: Boolean= FALSE); // Works with UNC paths
begin
if NOT ForceFolder
OR (ForceFolder AND ForceDirectoriesMsg(ExtractFilePath(FileName))) then
if WriteOp= (woOverwrite)
then IOUtils.TFile.WriteAllText (FileName, uString)
else IOUtils.TFile.AppendAllText(FileName, uString);
end;
यह EurekaLog से जानकारी है।
क्या ऐसा हो सकता है?
{$APPTYPE CONSOLE}
uses
System.SysUtils, System.IOUtils;
var
FileName: string;
begin
try
FileName := TPath.GetTempFileName;
TFile.WriteAllText(FileName, 'é', TEncoding.ANSI);
TFile.AppendAllText(FileName, 'é');
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
यहाँ मैं एएनएसआई के रूप में मूल फ़ाइल में लिखा है:
टीस्ट्रीम रीडर के बारे में क्या? एक सभ्य विकल्प लगता है और यह IOUtils पर आधारित नहीं है। – Ampere
पेर्फ थोड़ा सा डोडी है। मैं फ़ाइल के जीवनकाल के ज्ञान के बिना सलाह देना नहीं चाहता हूं और कौन इसे संशोधित करता है। –