我試圖用Java NIO讀取目錄中的所有文件,我有以下目錄結構讀取目錄的Java(assingning priroities到文件)
--dir1
|
-file1
-file2
-file3
現在我需要確保中的所有文件file3首先被讀取,然後是file2,然後是file1,即我需要爲文件分配一些優先級,然後先讀取優先級較高的文件,而不是優先級較低的文件,我該如何實現?
我試圖用Java NIO讀取目錄中的所有文件,我有以下目錄結構讀取目錄的Java(assingning priroities到文件)
--dir1
|
-file1
-file2
-file3
現在我需要確保中的所有文件file3首先被讀取,然後是file2,然後是file1,即我需要爲文件分配一些優先級,然後先讀取優先級較高的文件,而不是優先級較低的文件,我該如何實現?
您可以使用PriorityQueue
正如我已經implimented,在簡單的方法,希望這能解決你的問題
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
你如何分配優先級?你的例子只是排序文件,file3 - > file2-> file1 ...或者你有任何文件包含優先 –
在這種情況下,排序將工作,我需要根據文件的名稱,如文件名,文件名,filenamec,這些文件中的每一個都是不同的類型 – kumarD
我同意@AbdullahTellioglu如果你想通過優先級訪問文件,你必須有一個文件名和優先級相關的文件。 –