Sziasztok!
Van egy programom, ami egy txt fálból olvas(na) be adatok, majd a beolvasott adatokat, hozzáadja egy listához. És ezt a listát szeretném kiíratni. Így néz ki a kódom:
class Vezerles { public Vezerles() { } private List<Ital> italok = new ArrayList<>(); void start() { beolvasas(); kiiratas(); } public void beolvasas(){ try { Scanner scanner = new Scanner(new File("italok.txt")); String sor; String[] adatok; String fajta; long vonalKod; int mennyiseg, egysegAr; while(scanner.hasNextLine()){ sor = scanner.nextLine(); adatok = sor.split(";"); fajta = adatok[0]; vonalKod = Long.parseLong(adatok[1]); mennyiseg = Integer.parseInt(adatok[2]); egysegAr = Integer.parseInt(adatok[3]); italok.add(new Ital(fajta, vonalKod, mennyiseg, egysegAr)); } } catch (FileNotFoundException ex) { Logger.getLogger(Vezerles.class.getName()).log(Level.SEVERE, null, ex); } } public void kiiratas(){ for(Ital ital : italok){ System.out.println(ital); } } }
A kód hibátlanul lefut, még sem ír ki semmit a konzolra. Mi lehet a baj?
(a txt fájl a projekt gyökér könyvtárában van)
Page
viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
2 Comments
Auth Gábor
Szerintem az alábbi két sor közé tegyél egy kiírást (vagy használj debug módot, de egyszerűbb oda tenni egy System.out.println vagy Logger.getLogger().....log(...) sort).
Ezzel kiderül, hogy lefut-e a ciklus egyáltalán akár egyszer is. Használj mindig minél több naplózást, azzal ki tudod deríteni, hogy hol milyen értékek vannak és mi működik másképp, mint gondoltad.
Bogyó Gergő
Meg van a hiba: a beolvasni kívánt txt fájl nem UTF-8as kódolású volt, ezért nem tudta olvasni a program.