例如,我的内部存储文件夹中有 4 个位图:right0、right1、right2、right3
以及一个 ArrayList,其中包含位图的 4 个 uri: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。但我不知道如何在内部存储中复制文件。
我怎样才能解决这个问题。或者有没有人有其他想法来解决这个问题?