java - 如何将数组中的某些 File 元素复制到新的 File 数组?

标签 java arrays swing file list

这个可以实现吗?我有文件 foo[],其中包含 5 个文件的列表。但我只想将 foo[0] 和 foo[3] 复制到文件 bar[] 中,这样 bar[] 将只有 2 个元素。

我的代码获取foo[]的长度,然后如果所选文件的索引等于i的索引,则将foo[i]添加到bar[i]。 这是我构建的可能的代码:

for(int i = 0; i < foo.length; i++){

    if(list_fileListing.getSelectedIndex() == i){
        bar[i] = foo[i];
    }
}

*list_fileListing.getSelectedIndex() 保存 JList 中选定文件的列表。* 原因是我有一个可以在 JList 中选择的文件列表。从该列表中,我希望用户能够选择要附加到电子邮件的文件。

最佳答案

根据您的评论,您的 JList 包含 String 实例,而不是 File 实例。所以你可以做类似的事情

List<String> selectedFilesAsStrings = list_fileListing.getSelectedValuesAsList();
//selectedFilesAsStrings will never be null, but can be empty
List<File> selectedFiles = new ArrayList<File>( selectedFilesAsStrings.size() );
for( String fileName : selectedFilesAsStrings ){
  selectedFiles.add( new File( fileName ) );
}
File[] bar = selectedFiles.toArray( new File[ selectedFiles.size() ] );

这会将 bar 数组设置为指向包含所选 File 实例的数组

关于java - 如何将数组中的某些 File 元素复制到新的 File 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10022187/

相关文章:

Java 将方法字符串拆分为方法名称和参数

java - JButton 添加属性

java - 如何在不更改 setAutoCreateRowSorter 完成的顺序的情况下刷新表(JTable)?

java - 调试使用 maven-weblogic-plugin 部署的 Weblogic 应用程序

java - 尝试与 OrientDB 合作

java - Spring Boot @RequestParam 截断传入的 URL ?'s and #' s

ios - Swift 3 从数组中删除不存在于另一个数组中的对象并保持顺序

C++ - 在 C++ 类中初始化私有(private)数组

java - 从队列转换为 ArrayList

java - 在java中计算和显示数字