/ / FIFO обработка на файлове, добавени към папка в Java - java, file-io

FIFO обработка на файлове, добавени към папка в Java - java, file-io

Има ли някакъв начин в Java да се осигури FIFO обработка на файлове, добавени в папка. Търся решение, независимо от платформата. В момента използвам listFiles() метод в java.io.File за да извадя всички файлове от директория, но азпрочетоха, че не гарантира никакъв ред на файлове, намерени по този метод. Също така съм мислил да сортирам файловете въз основа на последната им модифицирана дата, но това е ненадеждно и не гарантира FIFO. Някой има ли други идеи може би?

Трябва да използвам Java 6, Java 7 не е опция.

Отговори:

2 за отговор № 1

Най- File.listFiles() метод връща файловете в неопределен ред, зависим от платформата.

Ако файловете в директорията няма да се променят, докато ги обработвате, след това сортирайте File списък трябва да работи.

Ако файловете в директорията подлежат на промяна, тогава няма начин да получите "моментна снимка" на файловете и техните времена за модификация. Но бихте могли потенциално да използвате Java 7 WatchService за проследяване на добавките в директорията и промените на файловете и го използвайте за справяне с промените, които се случват по време и след списъка и сортиране на директория.


Няма еквивалент на Java 7 WatchService вJava 6. Ако искате такова нещо, ще използвате или външна програма, за да подадете имената на файловете на Java в правилния ред, или да използвате JNI и родния код, за да взаимодействате с услугата за гледане на файлове / директория на ниво OS.