JAVA: Fájlbeolvasás elemenként?
Adott egy txt, abban soronként elmentve a versenyzők és az 5 mérkőzés eredményei (pl.: Kiss János;2;4;2;8;12)
A program célja az lenne, hogy egymás alá kell kiírnom a console-ba
(
Kiss János
2
4
2
8
12)
És így tovább a többi versenyzővel is. Addig sikerült megcsinálnom, hogy File függvénnyel egybe kiíratom soronként, de nekem ugy enem elég csak soronként, hanem ;-ként is muszáj.
Előre köszönöm!
(Nem feltétlen kész programot kérek, hanem azt a metódust/függvényt, amellyel megoldható a feltétel alapján való feldarabolás beolvasásnál.
Erre gondoltal?
File file = new File("/tmp/results");
Scanner sc = new Scanner(file, "UTF8");
while (sc.hasNext()){
String line = sc.nextLine();
String[] elements = line.split(";");
for(String element : elements) {
System.out.println(element);
}
}
BufferedReader br;
String line;
try {
br = new BufferedReader(new InputStreamReader( new FileInputStream(new File("textfile.txt"))));
while ((line = br.readLine()) != null) System.out.println(line.replaceAll(";", "\n") + "\n");
} catch (IOException e) { }
Esetleg annyi lenne még a kérdésem, hogy hogyan lehet ezt egy 2D tömbbe lementeni?
Ugye a split függvénnyel String[] lesz a változó típúsa és nem engedi egy String[][]-be belerakni.
Azért szeretném a 2D tömböt, hogy tudjam melyik oszlopban vannak a nevek és az egyes sorszámű mérkőzések.
Ezt a 2D tömbös dolgot nem értem, hogy miért lenne könnyebb azzal dolgozni.
A JAVA tisztán OOP nyelv, ezért alkalmazd is: csinálj egy osztályt és annak a példányaiból csinálj egy kollekciót amiben az adatokat tárolod. A tagváltozók alapján tudni fogod, hogy melyik adatról van szó.
#6
Nem csak 5 elemről van sző. Több ilyen sor van a txt-ben (lsd.: Kiss János;2;4;2;8;12)
Úgy akarom, hogy a tömb első oszlopában a játékoson nevei, a többi 5 mérkőzés pedig szintén külön oszlopban. Így amikor hivatkozni akarok az egyik játékos mérkőzésére, tudom, hogy az első oszlopban keressem a játékost és ahanyadik sorban van, ahanyadik sorban lesz a saját mérkőzése (csak másik oszlopban).
#7
"...annak a példányaiból csinálj egy kollekciót" - ezt nem igazán értem.
Például egy ArrayListben tárolod el az objektumokat. Minden sor egy objektum adattagjait tartalmazza.
// Player.java
public class Player {
private String name;
private int result1;
private int result2;
private int result3;
private int result4;
private int result5;
public Player(String name, int result1, int result2, int result3, int result4, int result5) {
this.name = name;
this.result1 = result1;
this.result2 = result2;
this.result3 = result3;
this.result4 = result4;
this.result5 = result5;
}
// ...
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!