我正在使用 Delphi XE5 进行 Android 开发。

我喜欢将 TStringList 保存并加载到 SDCard 上的文本文件中。
当我将 TStringList 保存到文件时,一切正常。保存后我可以调用 LoadFromFile 并加载文件。

问题是当我关闭应用程序并再次打开它时。文件不存在?
这是文件位置 FileName := '/data/data/[com.MY.APP]/files/File.txt'
在应用程序用户权限 = 写入外部存储:真

我需要将文件保存到另一个文件夹吗?

谢谢你的帮助。

这在我的代码和设置中。

procedure LOAD;
var
  TextFile: TStringList;
  FileName: string;
begin
     TextFile := TStringList.Create;
    try
      FileName := Format('%s/File.txt', [GetHomePath]);
      if FileExists(FileName) then
      begin
        TextFile.LoadFromFile(FileName);
        Memo1.Lines.Text := TextFile.Text
      end
      else
        ShowMessage('File not exists!');
    finally
      TextFile.Free;
    end;

end;

procedure SAVE;
var
  TextFile: TStringList;
  FileName: string;
begin
    TextFile := TStringList.Create;
    try
      FileName := Format('%s/File.txt', [GetHomePath]);
      TextFile.Text := Memo1.Lines.Text;
      TextFile.SaveToFile(FileName);
    finally
      TextFile.Free;
    end;
end;

最佳答案

是的,

AppPath := TPath.GetHomePath;
FileName := TPath.Combine(AppPath, 'File.txt');

工作正常。
不要忘记将单位 System.IOUtils 添加到您的使用子句中。

谢谢 xJernej。

10-08 03:04