【发布时间】:2014-12-20 00:27:23
【问题描述】:
例如,我在内部存储的文件夹中有 4 个位图: 对0,对1,对2,对3
还有一个包含 4 个位图 uri 的 ArrayList: uri0, uri1, uri2, uri3
现在我想删除 uri1/right1。这并不难,但我也希望将 uri2/right2 重命名为 uri1/right1,并将 uri3/right3 重命名为 uri2/right2。 所以我希望总是有 0123 的顺序...
我试过了:
rightFolder= getDir("rightFolder", Context.MODE_PRIVATE);
for(int i = counter + 1; i <= uriList.size(); i++){//counter is 1 if i want to remove right1
File tempFile = new File (rightFolder, ""+i);
File newFile = new File (rightFolder, ""+(i-1));
tempFile.renameTo(newFile);
}
有了这个我试图重命名文件。之后我删除了列表中的最后一个 uri:
uriList.remove(uriList.size()-1);
但这没有用。调试后我发现 renameTo() 方法不起作用。 tempFile 与以前的名称相同。 我现在的想法是我将 right2 复制到文件夹中,而不是使用名称 right1 然后删除 right2。但我不知道如何复制内部存储中的文件。
我该如何解决这个问题。或者有没有人有其他想法来解决这个问题?
【问题讨论】:
-
删除列表中的最后一个是没有意义的。您发布了不可读的代码,例如我们不知道 rightFolder 。而且您不想复制而是重命名,因此您的帖子主题令人困惑。
-
添加了什么是 rightFolder。我删除了最后一个,因为顺序总是保持0,1,2,所以我认为我不必删除中间的一个而是最后一个。
-
????你想删除你说的第二个。对1.
标签: java android rename file-rename internal-storage