gpt4 book ai didi

android - 重命名内部存储中的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:55:08 25 4
gpt4 key购买 nike

重命名应用程序内部存储中的文件的最佳/最简单方法是什么?我觉得有点奇怪,有一个 Context.deleteFile() 方法,但是没有“移动”或“重命名”功能。我是否必须一直保存文件的内容、删除它、创建一个新文件然后将内容复制到那个文件中?或者有没有办法在现有文件上复制文件?

更新(2012 年 8 月 30 日):

按照下面建议的解决方案,我无法开始工作:

  • 我有一个名为 shoppinglists.csv 的文件
  • 然后我创建一个名为 shoppinglists.tmp 的新文件,并将 shoppinglists.csv 中的内容和一些新条目复制到该文件中。 shoppinglist.tmp 文件是 shoppinglists.csv 文件的新版本
  • 然后我删除旧的 shoppinglists.csv 文件
  • 然后我需要将 shoppinglists.tmp 文件重命名为 shoppinglists.csv

我试过这个:

ctx.deleteFile("shoppinglists.csv");           <--- delete the old file
File oldfile = new File("shoppinglists.tmp");
File newfile = new File("shoppinglists.csv");
oldfile.renameTo(newfile);

但是,这是行不通的。在 deleteFile() 之后,什么也没有发生,剩下的是新的 shoppinglists.tmp 文件。

我错过了什么?

注意:LogCat 中没有错误或任何内容。

最佳答案

不使用原始的 File 构造函数,而是使用 Context 提供的方法 getFileStreamPath。也就是说,做:

File oldfile = ctx.getFileStreamPath("shoppinglists.tmp");
File newfile = ctx.getFileStreamPath("shoppinglists.csv");
oldfile.renameTo(newfile);

关于android - 重命名内部存储中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12181372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com