< Code Kata

FileReaderScanner Kata Java

Leírás

Előzmény:

Adott egy szöveges állomány, soronként különböző adatokkal. Legyen például egy járművek áthaladási ideje, rendszámmal a következő formában:

óra perc mp rendszám

Például:

12 30 5 ASG-124
12 35 32 BCD-384

Feladat:

Olvassuk be az állomány tartalmát egy listába.

Teendők:

Osztály létrehozása, amelyben tárolhatjuk az időt és a rendszámot.

Fájlolvasáshoz egy metódus készítése

Szükséges fájlkezelő osztályok példányosítása

Olvasás fájlból

A fájlból olvasás során a sorok tömbökbe rendezése

Minden ciklusban a létrejött tömb tartalmát áttesszük egy a járművek számára létrehozott osztály egy objektumába

A járműt tartalmazó objektumot listába tesszük

A metódus adja vissza a listát

Megvalósítás

package program01; import java.util.*; import java.io.*; class Jarmu{ int ora; int perc; int mp; String rendszam; } public class Program01 { private static List<Jarmu> feladat01() { List<Jarmu> list = new ArrayList<Jarmu>(); FileReader fr = null; try { fr = new FileReader("jarmu.txt"); }catch(FileNotFoundException ex){ System.err.println("Nincs meg a fajl!"); } Scanner fin = new Scanner(fr); while(fin.hasNext()){ String row = fin.nextLine(); String[] t = row.split(" "); Jarmu jarmu = new Jarmu(); jarmu.ora = Integer.parseInt(t[0]); jarmu.perc = Integer.parseInt(t[1]); jarmu.mp = Integer.parseInt(t[2]); jarmu.rendszam = t[3]; list.add(jarmu); jarmu = null; } return list; } public static void main(String[] args) { List<Jarmu> list = new ArrayList<Jarmu>(); list = feladat01(); Jarmu jarmu = new Jarmu(); jarmu = list.get(2); System.out.println(jarmu.rendszam); } }