Legutóbb módosított file-ok (java)?
Sziasztok! A segítségetekre lenne szükségem. Egy konzolos programot akarok írni, ami - ha megadjuk a megfelelő parancsot- elvégzi az adott műveletet. Jelen esetben azt a metódust akarom megírni, ami kiírja a 20 legutóbb módosított file-t a számítógépen. Ebből csak annyit tudtam megvalósítani, hogy meg tudom adni, hogy kiírjon x darab file-t és azok módosítási dátumát. Valamiért akárhogy próbálkoztam a Scanner (ami bekéri a konzolról a parancsot) nem működött és nem sikerült megadnom, hogy a 20 legutóbbit írja ki. Azt szeretném kérni, hogy valaki írja le, hogy tudnám ezt megvalósítani.
Előre jelzem hogy kezdő vagyok és tudom, hogy alapvető hibákat vétek.
Elméletben:
Vegyél egy prioritási sort, ami a benne lévő fájlok utolsó módosítása alapján rendez, úgy hogy a legkorábbi legyen elől, a legújabb a végén.
Vedd sorra a fájlokat! Dobáld be őket egyesével, és ha már nagyobb a lista mérete, mint 20, akkor dobd ki az elsőt.
Ezt lehet finomítani, hogy csak akkor dobod bele a fájlt, ha későbbi a módosítási ideje, mint az elsőé.
Nem nagy kaland. Bele tudsz tenni (add), meg tudod nézni az első elemet (peek), meg ki tudod venni az első elemet (poll), plusz a szokásos konténer műveletek.
Annyi, hogy a rendezésen kell kicsit agyalni, mert a bedobált fájlokat biztos, hogy nem a dátum szerint fogja alapból rendezni.
Dehogy kell!
PriorityQueue(int initialCapacity, Comparator<? super E> comparator) <így is lehet példányosítani. Szóval csak egy komparátor osztályt kell készíteni, ami a java.io.File osztályhoz, ami az összehasonlítást végzi.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!