Hirdetés
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Elektromos rásegítésű kerékpárok
- Hieronymus: Hogyan parkolj hátramenetben profi módon
- vrob: Próbálkozás 386 alaplap újraélesztésre
- Real Racing 3 - Freemium csoda
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- NvidiaRTX: Xiaomi Electric Scooter 6 Max: Az első rollerem
Új hozzászólás Aktív témák
-
tothpetya
csendes tag
válasz
Aethelstone
#5229
üzenetére
Ezzel tisztában vagyok. Azért kérdeztem, hogy nem tudtok-e olyan megoldást, aminek nem kell végigjárni az egész fát. De akkor ezek szerint nem.
-
tothpetya
csendes tag
válasz
Aethelstone
#5227
üzenetére
USB3-as sebességhez én kicsit lassúnak érzem.
-
tothpetya
csendes tag
Akkor próbálom vázolni újra a helyzetet. Van egy könyvtáram legyen főkönyvtár a neve. Ebben van körülbelül 10.000 almappa. Ezekben a mappákban változó számú fájlok vannak. Pl 1-20-ig. Fájlok nem törlődnek, illetve NEM módosulnak. Naponta fel kell ezt a főkönyvtárat másolni egy HDD-re (amin rajta vannak az előző napi fájlok). A lényeg, hogy csak azt másoljuk fel, ami még nincs fent.
Akkor azt mondjátok, hogy az exist() vizsgálat gyorsabb, mint a FileAlreadyExistsException kivétel dobása NIO 1.7-es másolással?
-
tothpetya
csendes tag
válasz
Aethelstone
#5221
üzenetére
Nem baj, azért írtam ide, mert szeretnék minél több nézőpontot megismerni.

Az általam említett kódban is csak azt másoljuk ami nincs még meg (a fájlok nem változnak létrehozás után).
-
tothpetya
csendes tag
Sziasztok!
Kellene egy kis segítség nekem. Van egy egyszerű Java program, ami csak annyit csinál, hogy sok kis fájlt másol egyik helyről a másikra. Naponta. Mivel elég sok van, ezért úgy kellene megoldani, hogy csak azokat másolja ami már nincs meg a másik helyen. Ezt a következőképpen oldottuk meg:
//Másolás függvénye:
public void masolas(File src, File dest)
throws IOException {
//Meg vizsgáljuk, hogy mappa-e:
if (src.isDirectory()) {
//Megpróbáljuk létrehozni a mappát (ha van, akkor nem csinál semmit)
dest.mkdir();
//Listába rendezzük a mappa tartalmát:
String files[] = src.list();
//Majd egyesével végigmegyünk rajta:
for (String file : files) {
//Elkészítjük a fájlokat:
srcFile = new File(src, file);
destFile = new File(dest, file);
//Rekurzív másolás:
masolas(srcFile, destFile);
}
} else {
try {
Files.copy(src.toPath(), dest.toPath());
System.out.println("Másolás: " + src);
} catch (FileAlreadyExistsException ex) {
System.out.println("Ez a fájl már meg van: " + src);
}
}
}Viszont így is körülbelül 15 perc alatt megy végig a fájlokon, ha meg van minden akkor is. Meg kellene gyorsítani. Ötletek?
Kb így néz ki a struktúra:
mappaneve1: fajl1, fajl2, fajl3
mappaneve2: fajl1
mappaneve3: fajl1 ... faj10Szóval van olyan mappa ami 10-15 fájlt is tartalmaz és ezek közül sok valószínűleg nem is változik. Arra gondoltam, hogy át kellene úgy alakítani, hogy először megnézi a mappa méretét és ha stimmel a kettő, akkor "bele se lép". Szerintetek ez kivitelezhető? Vagy azt is csak úgy tudja, hogy belelép és összeszámolja a tartalmát. Ha ez nem életképes, akkor valakinek van más ötlete?
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- NAGY MAGYAR BILLENTYŰZETES LAPTOP BAZÁR BŐVíTÉS ALATT
- ZBook Fury 15 G8 15.6" FHD IPS i7-11800H T1200 32GB 512GB NVMe ujjlolv IR kam gar
- Samsung Galaxy A35 5G 6/128GB Újszerű,Kártyafüggetlen,Tartozékaival. 1 Év Garanciával!
- HP EliteBook 840 G10 14" i5 1335U, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- HP ProBook 445 G8 14" Ryzen 5 5600U, 8-16GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060 (ELKELT)
- Akció!!! Sosemhasznált! HP OmniBook 5 i5-1334U 16GB 512GB 16" FHD+ Gar.: 1 év
- Új Asus ROG Zephyrus G14 OLED 2.8K G-Sync 120Hz Ryzen9 270 32GB 1TB Nvidia RTX 5070 8GB W11 Garancia
- HIBÁTLAN iPhone 11 64GB White-1 ÉV GARANCIA - Kártyafüggetlen, MS4389, 100% Akksi
- Apple iPhone 11 64GB,Újszerű,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

