我写了一些代码:
MnemonicList := TStringList.Create();
{$IFDEF Android}
IniPath := TPath.Combine(TPath.GetDocumentsPath, ADefaultLanguage + '.ini'); { Internal }
{$ENDIF}
{$IFDEF Win32}
IniPath := TPath.Combine(ExtractFilePath(ParamStr(0)), 'Lang\' + ADefaultLanguage + '.ini');
{$ENDIF}
if FileExists(IniPath) then
begin
MemIniFile := TMemIniFile.Create(IniPath);
ShowMessage(IniPath);
MemIniFile.ReadSections(MnemonicList);
ShowMessage(IntToStr(MnemonicList.Count));
end;
第二个ShowMessage()结果在Windows上运行时为4,在Android上运行时为0 ...文件正确填充,FileExists(IniPath)在Android上也为True。我也可以在编辑器中打开Android和Windows上的文件。 Android上的TMemIniFile有什么不同吗?
答案 0 :(得分:1)
INI文件字符编码出现问题。当我更改为没有BOM的UTF-8时,它开始工作。