Results 1 to 16 of 16
Thread: ×åòåíå íà 90ìá ñ java
Hybrid View
-
24th November 2008 23:21 #1Banned
Join Date: Apr:2003
Location: Ïî ëåòèùàòà
Posts: 342
×åòåíå íà 90ìá ñ java
Èçïðàâåí ñúì ïðåä ïðîáëåì, ÷å íå ìîãà äà ïðî÷åòà ôàéë îò 90 ìá. Ôàéëà å comma delimited flatfile. Ïðîáâàë ñ FileInputStream, FileReader, Scanner. Âñè÷êî ìè äàâà heap error ïðè ÷åòåíåòî íà ôàéëà. Íàìàëèõ ãî ñ îêîëî 90% è ïîíÿêîãà ìèíàâà ïîíÿêîãà íå (ñ FileInputStream, ñ äðóãèòå íå èñêà).
Scanner, óæ òî÷íî ðåä ïî ðåä áè òðÿáâàëî äà ìîæå äà ÷åòå. À íå å òîëêîâà ãîëÿì ôàéëà. Heap size ãî êà÷âàõ äî 1200Ì åôåêò íèêàêúâ.
-
24th November 2008 23:39 #2
Àêî íå ïðåäñòàâëÿâà ïðîáëåì, ùå å õóáàâî äà ñå âèäè êîäà, êîéòî òè ïðàâè ïðîáëåì.
EP35-DS4 :: Pentium Q9550 :: 4x2GB DDRII :: GeForce 9800GT :: 2x320GB SATA :: DVD-ROM :: CMPSU-450VXEU
-
24th November 2008 23:49 #3Banned
Join Date: Apr:2003
Location: Ïî ëåòèùàòà
Posts: 342
Ïî èçáîð: FileInputStream fis = new FileInputStream(filepath);
int x = fis.available();
byte b[] = new byte[x];
fis.read(b);
file = new String(b);
òîçè: Scanner reader = new Scanner(new File(file));
while (reader.hasNextLine())
{
.....
}
èëè ïîäîáåí íà Scanner, íî ñ FileReader.
Ìîæå áè èìàì mem leak, ñåãà ñòèãíà ïî-íàïðåä â êîäà, è êðàøíà íà åäèí ëîîï íà öÿëîòî Array.
Íÿêîé äà çíàå êàêúâ footprint îñòàâàò â ïàìåòòà Array îò String èëè Bytes?
-
24th November 2008 23:56 #4
Òîâà íåùî íàëàïâà öåëèÿ ôàéë â ïàìåòòà. Ñòàíäàðòíî ðàçïîëàãàø ñ 64MB heap, òàêà ÷å å íîðìàëíî äà èçòðåùèø.
Ðåä ïî ðåä ìîæåø äà ÷åòåø íàïðèìåð òàêà:
Àêî ñïîäåëèø êàêâà å êðàéíàòà öåë íà çàäà÷àòà, ùå ìîãà äà òå ïîñúâåòâàì ïî-äîáðå.Code:BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(filepath))); String line = null; while ((line = in.readLine()) != null) { // process the line; }Last edited by idn; 25th November 2008 at 00:20. Reason: Ùå ñå ñïè
EP35-DS4 :: Pentium Q9550 :: 4x2GB DDRII :: GeForce 9800GT :: 2x320GB SATA :: DVD-ROM :: CMPSU-450VXEU
-
25th November 2008 00:18 #5Banned
Join Date: Apr:2003
Location: Ïî ëåòèùàòà
Posts: 342
Êðàéíàòà öåë å òîçè ôàéë, ñëåä ìàëêà îáðàáîòêà äà áúäå ïîäàäåí íà åäíà äðóãà ñèñòåìà. Öåëèÿ êîä ñå èçïúëíÿâà âúòðå â òàçè ñèñòåìà.
Ôàéëà èçãëåæäà íåùî êàòî òîâà:
* A1 À Á Â 0 2 3 4 2 (String è double)
 èäåëàíèÿ âàðèàíò òîé áè äîáèë ñëåäíèÿ âèä:
1 Á Â 2 3 4 2, ñëåä êîåòî äà áúäå ïîäàäåí íà ñèñòåìàòà íè.
Îêîëî 72000 ðåäà ïî 19 êîëîíè.
-
25th November 2008 00:34 #6Êàëôà âèíî÷åðïåö
Join Date: Jun:2002
Location: 85435
Posts: 4,619
Íåùî íå ïðàâèø êàòî õîðàòà - íÿìàìå ïðîáëåì ñúñ 300+ ìåãàáàéòà ôàéëîâå îò 3D ñêåíåð (4 000 000+ ðåäà - ÷åòåíåòî è âèçóàëèçèðàíåòî íà 3D ìîäåë îòíåìà íå ïîâå÷å îò ìèíóòà). Óòðå ùå ðàçãëåäàì è ùå äàì ïðåäëîæåíèå (àêî íèêîé íå å ïîìîãíàë äî òîãàâà).
Ëåêà âå÷åð.
Hint: Ìîæå áè å äîáðà èäåÿ äà ðàáîòèø ñ âåêòîðè. Íàïðàâè ñè àíàëèç íà ôàéëà è ðàçãðàíè÷è ðàçëè÷íèòå òèïîâå äàííè â ñúîòâåòíèòå èì êî÷èíêè. Ñïîðåä ìåí áè òå óëåñíèëî.X570 Aorus Elite || R5 3600x || NH-D14 || 32GB RAM || GTX1070Ti Ultra Silent || PCE-AC56 || 850 EVO+MP510+HDDs || SSR-650RT all in Dark Base 900 || EV2736W || G29 || Obutto Ozone+Sparco R333
-
26th November 2008 13:56 #7Çåâçåê Ïðîâîêàòîð
Join Date: Sep:2005
Location: Sofia
Posts: 18,517
Òÿ öÿëàòà ñèñòåìà ìè ñå âèæäà ìàëêî ñáúðêàíà. Âèíàãè ëè ñà íåîáõîäèìè âñè÷êèòå ìåãàáàéòè? Íå ìîæåø ëè äà ãè îáðàáîòâàø íà ïàð÷å? Õîðàòà èçïîëçâàò áàçè äàííè èëè ïîíå ðàíäúì àêñåñ ôàéëîâå.
-
26th November 2008 20:29 #8Banned
Join Date: Apr:2003
Location: Ïî ëåòèùàòà
Posts: 342
Õàõ, ñèñòåìàòà íå å òîëêîâà ëîøà, äàæå âñúùíîñò äîñòà äîáðà. Ôàéëúò èäâà îò ïîòåíöèàëåí êëèåíò è äîêàòî å "ïîòåíöèàëåí" íå ñå çàäàâàò ìíîãî âúïðîñè, ïðîñòî ïðàâèø òàêà, ÷å ñèñòåìàòà òè äà ðàáîòè ñ íåãîâèòå äàííè, ñëåä òîâà, êîãàòî âå÷å íå å "ïîòåíöèàëåí", âèíàãè ìîæå äà ñå ïðåãîâàðÿ íà òåìà "íåãîâèòå äàííè".
-
28th November 2008 20:44 #9Çåâçåê Ïðîâîêàòîð
Join Date: Sep:2005
Location: Sofia
Posts: 18,517
Íå ìîæåø ëè äà ãî ÷åòåø íà ïàð÷åòà îò ïî ìåãàáàéò ïðèìåðíî, à âìåñòî String, çà êîéòî å ïî-óäîáíî äà èìàø öåëèÿò çàïèñ, äà ïîëçâàø StringBuffer èëè StringBuilder, ÷å å ïî-áúðç è äà ðúãàø âúòðå ïàð÷å ïî ïàð÷å? Ìíîãîòî ñòðèíãîâå ãúëòàò ïàìåò è ïðîöåñîðíî âðåìå çà ñúáèðàíå íà áîêëóêà.




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè