Java File[] 或 List<File> 还是其他?

标签 java arrays list

public boolean importData(TransferSupport ts) {
  try {
    String dir = ts.getTransferable().getTransferData(DataFlavor.javaFileListFlavor).toString();
    dir = dir.substring(1, dir.length()- 1);
    System.out.println(dir);

    DecimalFormat df = new DecimalFormat("#.#");
    df.setRoundingMode(RoundingMode.CEILING);
    //parsing directory names and converting them into file array
    int lastComma = 0;
    for(int i = 2; i < dir.length(); i++) {
        //System.out.println(dir.substring(i-2,i));
        if(dir.substring(i-2,i).equals(", ")) {
            File file = new File(dir.substring(lastComma,i-2));
            double num = file.length();
            System.out.println(df.format((num/1024)/1024)+"MB");
            lastComma = i; 
        }

    }
}

我正在实现一种通过解析目录路径来获取文件列表的方法。字符串 dir 将包含文件目录。这取决于用户拖放到程序上的文件数量。由于我将文件信息存储为表格式,因此我必须将它们存储为数组格式或其他数据结构。有什么建议吗?

最重要的问题是,我应该使用 File[] 数组来实现它吗?或列表?我知道使用 File[] 数组实现它将使我能够计算用户拖放的文件数量。

最佳答案

一个List总体来说比较灵活。但是,在这种情况下,您可以用以下代码替换困惑的字符串分割代码:

 String[] files = dir.split(", ");

这也涉及使用 List 的原因之一。如果您想使用 List无论如何:

 List<String> files = Arrays.asList(dir.split(", "));

请注意,这是 List<String>而不是List<File> ,但这并不重要。

关于Java File[] 或 List<File> 还是其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53491986/

相关文章:

list - 如何在 flutter 中将字符串列表转换为字符串?

java - 针对 XSD 验证 XML

java - 如何将本地 DTD 文件的验证应用于 java 中的 xml 文件?

Javascript 不变性和本地数组

java - Java 中的 getInteger

c# - C#合并两个List,将id相同的对象合并为一个列表项

java - 如何使用内存文件中的vertx创建可下载文件api

java - Break 语句会让我的代码更快吗?

php - 合并两个带有数字键的数组作为关联数组的值以插入MySQL中的多行

c - 删除链表中的节点