Kezdőoldal » Számítástechnika » Programozás » Valaki segítene java nyelvben...

Valaki segítene java nyelvben egy fileból olvasásban?

Figyelt kérdés

Hogy erre hogyan lehetne a beolvasást a legjobban megoldani, a file az ugy néz ki, irok erre egy példát:

3

4 5 6 1.8

0 2.0 8 5

3 8.5 1 5.5

És az első sor itt az, hogy hány alakzatunk van, aztán utána soronként az első szám jelöli, hogy milyen az alakzat mondju a 4-es az négyszög, a 0 az a kört jelenti, a 3 as az a háromszöget, aztán a következő két szám az először az x, aztán a y koordinátája a közzépontnak, utána meg az utolsó szám az az adott alakzat oldalának a hossza vagy a kör esetében a sugár, és a koordináták, meg az oldal hossz az double tipus.

És soronként kell beolvasni, a dolgokat de ugy hogy utána azt széttudjam szedni szóval, az első oszlopnak is kellesz majd használnom az értékeit, meg utána a két koordinátát is kell majd külön használnom és az utolsó adatot is kellesz. Köszönöm előre a segítséget!



#Java #filebol olvasás
2016. nov. 14. 21:25
 1/9 anonim ***** válasza:

Soronkénti olvasás:

[link]


Sorok darabolása

[link]


Majd a String-et Float/Double-re konvertálod, mert látom van törtszám is.


Amúgy 5perc Kereső-Oriás-Használat... Már nem mondjuk ki, mert az a sz_ar nem engedi fel a postot...

2016. nov. 14. 22:06
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

> Kereső-Oriás-Használat... Már nem mondjuk ki, mert az a sz_ar nem engedi fel a postot...


??? A Gyakori letiltja a választ, ha azt írom bele, hogy Google?


Nem úgy néz ki. :)

2016. nov. 14. 22:42
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Köszönöm, hogy segítettél közben míg nem néztem meg a gyakori kérdéseket én is ezt a megoldást választottam, csak azt hittem meg lehet egyszerűbben is oldani, mert C++- ban nem ennyire összetett a dolog.
2016. nov. 15. 00:48
 4/9 anonim ***** válasza:

>>> Nem úgy néz ki. :)


Velem már előfordult, és inkább hogy ne keljen 2x megírni ugyanazt, inkább nem írtam bele. :D

2016. nov. 15. 07:33
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

> csak azt hittem meg lehet egyszerűbben is oldani, mert C++- ban nem ennyire összetett a dolog.


Akkor valamit rosszul csinálsz mert legalább olyan egyszerű Java-ban mint C++-ban, sőt stream api-val még egyszerűbb is.

2016. nov. 15. 19:07
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:
Hát pont ere vagyok kíváncsi, hogy milyen módszerrel egyszerűbb?
2016. nov. 15. 20:22
 7/9 anonim ***** válasza:

Azzal a módszerrel amit az #1 válaszoló leírt és amit állítólag te is megtaláltál.


Files.lines(Paths.get("file.txt")).skip(1).map(Alakzat::of)


És akkor van egy streamed az összes alakzattal. Az Alakzat.of egy factory metódus ami létrehozza a megfelelő alakzatot. Splittel tudod szétválasztani a paramétereket. Ha lista kell akkor .collect(Collectors.toList()) mehet a végére, ha valami mást akarsz, akkor forEach().


Ez van leírva a linkelt oldalon, ezt a megoldást találtad meg te is és talán erre írtad hogy túl bonyolult és C++-ban sokkal egyszerűbb. C++-ban fél sornál rövidebb lenne az egész?

2016. nov. 15. 20:58
Hasznos számodra ez a válasz?
 8/9 Piert ***** válasza:

try(BufferedReader reader = new BufferedReader(new FileReader("file.txt"))){


//dolgozd fel(split/regex/etc)


}catch(IOException e){//valami}



Szívesen. Off: Ez tök véletlen nem egy prgotech beadandó?

2016. nov. 16. 11:51
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
Igen, pont az
2016. nov. 17. 12:25

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!