读取目录中的所有文件Java(确定文件的priroities)

时间:2017-06-12 06:42:06

标签: java file nio

我正在尝试使用java nio读取目录中的所有文件,我有以下目录结构

--dir1
  |
  -file1
  -file2
  -file3 

现在我需要确保file3首先被读取然后是file2然后是file1,即我需要为文件分配一些优先级,然后首先读取优先级较高的文件而不是优先级较低的文件,我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可以使用PriorityQueue,因为我已经通过简单的方式表示希望这可以解决您的问题

public class Test
{
    public static void main(String[] args)
    {
        Comparator<String> comparator = new StringLengthComparator();
        PriorityQueue<String> queue = 
            new PriorityQueue<String>(10, comparator);
        queue.add("file3");
        queue.add("file1");
        queue.add("file2");
        while (queue.size() != 0)
        {
            System.out.println(queue.remove());
        }
    }
}

听说我用比较器比较你的病情

import java.util.Comparator;

    public class StringLengthComparator implements Comparator<String> {
        @Override
        public int compare(String x, String y) {
            if (x.equalsIgnoreCase("file3")) {
                return -1;
            }
            if (x.equalsIgnoreCase("file1")) {
                return 1;
            }
            return 0;
        }
    }

根据需要分配您的优先级并阅读。

结果

file3
file2
file1