Dobrý podvečer,
Riešim semestrálnu prácu a mám jeden veľký problém. Za úlohu som si dal vztvoriť databázový systém - Zoznamku.
Táto zoznamka pracuje s 2 mil. generovanými uživ. .Hlavnou chybou je jeho načítanie.
Potreboval by som to prerobiť s pola do súboru, pretože po otvorený programu bude chcieť zadať Priezvisko, vek, záľubu, lokalitu čo je OK ale nenačíta mi vzgenerované údaje.
Prikladám aj kód v Rar súbore.
URL Kódú:
http://uloz.to/x7MHLhX/d-rar
JAVA - s POLA do SUBORU
Re: JAVA - s POLA do SUBORU
cau, skusil som si spustit ten kod a prva vec co bola vadna, bol preklep v nazve suboru
potom som dostal vynimku ArrayIndexOutOfBoundsException na riadku
kedy sa pri 2 000 000 polu snazi adresovat na vyssie prvky v dosledku tohto riadku
napr. pre databazu s 2000 udajmi je velkost suboru v bajtoch 114000, dany cyklus by sa vykonal az po 114000/(24+4) = 4071.
4071 >> 2000
114000/2000 zaznamov je = 57 bajtov. Vsimol som si ze generujes ten riadok po maximalnu dlzku 54, cize 54+2+2 = 58 bajtov ma jeden zaznam, tj. v cykle by sa mali postupne citat pre 2000 prave 2000 krat
Potom mi to vyhodilo dalsi FileNotFoundException, ktory sa mi nechcelo blizsie pozerat, kedze je v tom kode dost chaos
(nehovoriac o tych statickych metoda a premennych). Pravdepodobne ten dalsi subor nikde nevytvaras.
Kód: Vybrať všetko
String menoSub="retax.dat";Kód: Vybrať všetko
pQs[i] = gPriezv;Kód: Vybrať všetko
for(i=1;i<=(ff.length()/(dlzkaZaznamu+4));i++)4071 >> 2000
114000/2000 zaznamov je = 57 bajtov. Vsimol som si ze generujes ten riadok po maximalnu dlzku 54, cize 54+2+2 = 58 bajtov ma jeden zaznam, tj. v cykle by sa mali postupne citat pre 2000 prave 2000 krat
Kód: Vybrať všetko
for (i = 1; i <= pocZaznamov; i++) Re: JAVA - s POLA do SUBORU
Ako nic v zlom ale dat informacie o 2000 000 milionoch uzivateloch do textaku... to bude asi dost pomale, a este si predstav ze budes chciet aby bolo viacero programov s jednou databazou(u teba je databaza textak) a nastane taka situacia ze jeden program bude vytahovat prvy udaj a jeden posledny, prvy zacne bezat no citacia hlava nestihne dojst na koniec suboru lebo planovac vezme disk beziacemu programu a da ho druhemu a ten presunie citaciu hlavu zasa blizsie ku zaciatku ale nie na zaciatok....proste uviazne to, po case sa programy vypnu(starvacia)