Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Txt fajl i dva prolaza kroz njega

[es] :: Java :: Txt fajl i dva prolaza kroz njega

[ Pregleda: 1420 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Texas Instruments

Član broj: 227540
Poruke: 272
95.180.72.*



+61 Profil

icon Txt fajl i dva prolaza kroz njega03.06.2010. u 00:00 - pre 169 meseci
Koristim klasu Scanner da bih čitao liniju po liniju iz ulaznog tekstualnog fajla. E sad, pošto mi treba da odredim broj nekih promenljivih u samom tekstu da bih znao koliko tačno ulančanih listi stringova da kreiram, trebalo bi da 2 puta prođem kroz fajl. Ok, prvi put kad prođem i odredim taj broj sve je u redu, ali kako sada da ponovo prođem kroz fajl?
Code:


fr = new FileReader("C:\\ulaz.txt");
...

Scanner s1 = new Scanner(fr);
while(s1.hasNextLine()) {
  String p = s1.nextLine();
  if(p.contains(...)) temp++;
}



Kada sad pokušam da napravim novu instancu Scanner nad ovim fr, on je prazan. Može li neka pomoć oko ovoga? Ili neko pametnije rešenje.
 
Odgovor na temu

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
194.247.212.*



+690 Profil

icon Re: Txt fajl i dva prolaza kroz njega03.06.2010. u 09:12 - pre 169 meseci
Pa u svakom slučaju možeš stringove koje dobijaš da upisuješ u neku listu i drugi put da prođeš kroz tu listu. Ali, ja stvarno nisam shvatio šta ti treba da uradiš i nije mi jasno za šta ti trebaju 2 prolaza.
 
Odgovor na temu

Texas Instruments

Član broj: 227540
Poruke: 272
95.180.72.*



+61 Profil

icon Re: Txt fajl i dva prolaza kroz njega03.06.2010. u 18:35 - pre 169 meseci
Ok, to sam i ja pomislio da radim. Samo šta ako taj ulazni fajl bude prevelik.
Recimo da mi treba da određene delove iz tog teksta smeštam u odvojene liste stringova.
Primer da imam ulazni tekst fajl koji sadrži nešto ovako
Code:

POČETAK ZAPISA
 tekst
 tekst
 ...
 tekst
KRAJ ZAPISA
POČETAK ZAPISA
 tekst
 tekst
 ...
 tekst
KRAJ ZAPISA
 ...

i sad hoću da prođem kroz taj fajl jednom da bih prebrojao koliko ima tih zapisa da bih znao koliko listi mi treba.
A to je zato što sam pravio niz ulančanih listi stingova, a za to mi treba poznat broj unapred, temp, koliko ima tih zapisa.
Code:

List<String>[] listArray = (LinkedList<String>[]) new LinkedList[temp];
for(int i=0; i<temp; i++) listArray[i] = new LinkedList<String>();


Ima li neko predlog za jednostavnije rešenje, kako da smeštam te zapise u odvojene liste?

[Ovu poruku je menjao Texas Instruments dana 03.06.2010. u 21:13 GMT+1]
 
Odgovor na temu

dule_ns
Novi Sad

Član broj: 123863
Poruke: 257
195.78.86.*



+690 Profil

icon Re: Txt fajl i dva prolaza kroz njega04.06.2010. u 09:04 - pre 169 meseci
OK, onda imaš dva rešenja.
Prvi je sa dva prolaza, tj posle prvog zatvori Scanner i FileReader (close() metoda) pa ih ponovo instanciraj (možeš da koristiš iste promenjive).

Drugi je da koristiš listu listi, pa na kraju ako ti baš treba niz listi ti prebaciš u to.


Malo gruba rešenja, ali mislim da će raditi.
 
Odgovor na temu

[es] :: Java :: Txt fajl i dva prolaza kroz njega

[ Pregleda: 1420 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.