【问题标题】:Delete file from a file list从文件列表中删除文件
【发布时间】:2013-10-08 03:02:57
【问题描述】:

我正在创建一个 android 应用程序,并使用以下指令在内存中创建了一个可用文件列表:

final String[] files =fileList();

我需要从这个列表中删除一个文件,但我不知道怎么做,你能帮帮我吗?

【问题讨论】:

  • 您已将数组声明为final,final变量无法更改。
  • JNL,需要明确的是,'files' 的值不能重新分配,但数组中的值(如果有的话)可以改变。请看:stackoverflow.com/q/10339930/42962

标签: java android string file list


【解决方案1】:

要“删除”某些东西,您可以将其设置回 null,或者您可以通过将其后面的所有内容移到一个位置的循环来执行此操作。

public void remove( int index ) { 
    for(int i=index; i<sarr.length()-1; i++) { 
        sarr[i] = sarr[i+1] 
    } 
    sarr[sarr.length()-1] = null; 
    System.out.println("Removed!"); 
} 

当使用这样的原始数组时,没有删除方法。如果您构建了一个更复杂的数据类型,您可以使用“删除”方法。

【讨论】:

  • 同意,你最好使用ArrayList&lt;String&gt;
【解决方案2】:

请改用List&lt;String&gt;。这样您就可以使用remove() 方法删除您想要的文件。

index = 0//location of item to be removed, with the first item in the list at 0
List<String> files = Arrays.asList(getFiles());
files.remove(index)

在此示例中,索引是您要删除的项目的位置。或者,您也可以这样做

item = "fileLocation";
List<String> files = Arrays.asList(getFiles());
files.remove(item)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    相关资源
    最近更新 更多