Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Készítette: Csekéné Molnár Erika, 2009 Bevezetés a Java programozásba Multimédiafejlesztő tanfolyam 3. foglalkozás.

Hasonló előadás


Az előadások a következő témára: "Készítette: Csekéné Molnár Erika, 2009 Bevezetés a Java programozásba Multimédiafejlesztő tanfolyam 3. foglalkozás."— Előadás másolata:

1 Készítette: Csekéné Molnár Erika, 2009 Bevezetés a Java programozásba Multimédiafejlesztő tanfolyam 3. foglalkozás

2 1. Input/output kezelés 1.Kivételkezelés 2.Adatbeolvasása parancssorból 3.Stream (csatorna) 4.Adatbeolvasás konzolról 5.Feladatok

3 1.1 Kivételkezelés Lényege: A programban fellépő futásidejű hibák, vagy a program normál logikájához képest különleges, attól eltérő helyzetek kezelése. Eszköze: A try blokkban kiváltott kivételeket az utána következő catch blokk, vagy blokkok kezelik le: try { utasítások; } catch(Típus változó) { utasítások; } (A catch ágban a "paraméterként" megadott típus határozza meg, hogy mely kivételeket képes lekezelni.)

4 1.2 Adatbeolvasás parancssorból Egész szám beolvasása ( Negyzet.java ) Negyzet.java try{ szam = Integer.parseInt(args[0]); }catch (NumberFormatException e){ System.out.println("Egész számot adj meg!"); } String args[ ] : a parancssorban megadott paraméterek, String típusú tömbben tárolva Integer.parseInt(p) : a paraméterként megadott String típusú adatot int típusúvá alakítja NumberFormatExeption : nem megfelelő típusú ( int ) paraméter megadása esetén fellépő hiba Futtatáskor: java Negyzet 4 Feladat: Írj programot, amely két parancssorból megadott egész számot ad össze! ( Osszead.java ) Osszead.java

5 1.3 Stream (csatorna) Definíció: A csatorna adatok sorozata, egyik végén befelé, a másik végén kifelé "folynak" az adatok. Megvalósítás: csatornákat is osztályokkal valósítjuk meg, azaz minden csatorna-típusnak egy-egy osztály felel meg, amelyek a java.io csomagban találhatók. Típusai: –Csatornán folyó adatok iránya szerint: bemeneti (pl.: billentyűzet, fájl… stb.) és kimeneti (pl.: képernyő, fájl… stb.) csatornák. –Csatornán folyó adatok típusa szerint: bájt- és karaktercsatorna Alapcsatorna osztályok : Típus\IrányBemenetiKimeneti BájtInputStreamOutputStream KarakterReaderWriter

6 1.4 Adatbeolvasás konzolról Importálás: A program első sorába importálni kell a java.io csomagot. import java.io.*; Csatorna létrehozása és megnyitása : egy reader nevű objektum létrehozása, amely hozzá van rendelve a standard inputhoz, ahol pufferelt adatbeolvasást hajtunk végre. BufferedReader reader = new BufferedReader(new InputStreamReader (System.in)); Adatbeolvasás kivételkezeléssel : a reader objektum readLine() eljárása olvas be egy String típusú értéket, amit egész számmá kell alakítani. try { sor = reader.readLine(); szam = Integer.parseInt(sor); }catch(IOException e){ } Feladat.: A beolvasatott számnak írjuk ki a négyzetét! ( Negyzetszam.java ) Negyzetszam.java

7 1.5 Feladatok 1.Írj programot, amely parancssorból megadott 3 szám közül eldönti, melyik a legkisebb ill. legnagyobb! Használd a Math osztály min és max függvényét és használj saját statikus függvényeket! ( MinMax.java ) MinMax.java 2.Írj programot, amely bekér a felhasználótól öt egész számot és növekvő sorrendbe kiírja! Használj tömböt a számok tárolásához és készíts statikus metódusokat! ( Rendez.java ) Rendez.java

8 2. Állománykezelés 1.Fájlokról általában 2.Bináris fájlok 3.Karakteres fájlok 4.Szöveges fájlok 5.Szöveges fájl feldolgozása 6.StringTokenizer osztály

9 2.1 Fájlokról általában Az állomány is stream (csatorna): bemeneti és kimeneti adatforrás is lehet fájl. Kell a java.io csomag, importálni kell a program elején Állomány típusok: –Bináris file: 8 bites egységenként történik a feldolgozás, szám típusú adatokat tartalmaz –Karakteres file: 16 bites egységenként, azaz karakterenként történik a feldolgozás –Szöveges file: részenként (pl. soronként, szavanként) történik a feldolgozás Műveletek: –File megnyitása: csatorna létrehozása és megnyitása egy lépésben a new utasítás segítségével –Műveletek: olvasás: read(), readLine(), írás: write(), print(), println() –File lezárása: close()

10 2.2 Bináris fájlok Bemenethez használjuk a FileInputStream osztályt. FileInputStream bemenet =new FileInputStrem(„feldolgozando.txt”); … int szam = bemenet.read(); … bemenet.close(); Olvasás vége, ha file vége -1. Kimenethez használjuk a FileOutputStream osztályt. FileOutputStream kimenet=new FileOutputStream(„irasra.txt”); … kimenet.write(i); … kimenet.close(); Feladat: Írj programot, amely megnyitja olvasásra a szamok.txt állományt, kiírja tartalmának kódjait az outputra, majd feltölti az üres cel.txt fájt 1-től 150-ig kódolt karakterekkel! ( Binaris.java ) szamok.txt Binaris.java

11 2.3 Karakteres fájlok Bemenethez használjuk a FileReader osztályt. FileReader bemenet =new FileReader(„feldolgozando.txt”); … int c = bemenet.read(); … bemenet.close(); Olvasás vége, ha file vége -1. Kimenethez használjuk a FileWriter osztályt. FileWriter kimenet=new FileWriter(„irasra.txt”); … kimenet.write(c); … kimenet.close(); Feladat: Írj programot, amely a forras.txt fájl tartalmát átmásolja a cel.txt fájlba! ( Karakteres.java ) forras.txt Karakteres.java

12 2.4 Szöveges fájlok Részenkénti feldolgozás: praktikus, ha egy file tartalmát nem csak karakterenként vagy byte-onként érhetjük el, hanem egy nagyobb szakaszt egyben is. Pufferelt olvasás lényege, hogy a stream egy szakaszát egy pufferbe olvassa. A puffer tartalma egy művelettel elérhető. Beolvasás soronként a "\n" jelig. Fájl vége: null. Osztályok: –bemenethez: BufferedReader, ami képes egy sort egy művelettel beolvasni, pufferbe olvas, tartalma egy művelettel elérhető. –kimenethez: PrintWriter, ami a kiírandó adatot karakterenként írja a kimeneti streambe.

13 2.5 Szöveges fájl feldolgozása Beolvasás: BufferedReader bemenet = new BufferedReader(new FileReader(„bemenet.txt”)); … String sor = bemenet.readLine(); … bemenet.close(); Kiírás: PrintWriter kimenet = new PrintWriter( new FileWriter(„kimenet.txt”)); … kimenet.println(„Serteperte, felseperte”); … kimenet.close(); Feladat: Írj programot, amely a torp.txt fájl sorait megsorszámozva átírja a cel.txt fájlba! ( Szoveges.java ) torp.txt Szoveges.java

14 2.6 StringTokenizer osztály String részekre bontását teszi lehetővé Importálni kell a java.util csomagot Feldarabolt szöveg létrehozása, ahol megadható az elválasztó karakter: StringTokenizer st = new StringTokenizer(String szöveg, String elválasztókarakter); Alapértelmezés a szóköz és a fehérszóközök (például: \t\n\r\f ) Metódusai: –st.hasMoreTokens() Igazat ad vissza ha van még rész –st.nextToken() A következő tokent adja vissza értékül –st.countTokens() Visszadja a hátralévő részek számát

15 2.7 Feladat Írj programot, amely beolvassa a torp.txt fájlt, amelyben soronként egy törp neve és számértékek vannak, szóközzel elválasztva. Hozzunk létre egy torpok.txt állományt, amelyben kiírjuk a törp nevét és a hozzá tartozó számok összegét! (Torpok.java)torp.txtTorpok.java


Letölteni ppt "Készítette: Csekéné Molnár Erika, 2009 Bevezetés a Java programozásba Multimédiafejlesztő tanfolyam 3. foglalkozás."

Hasonló előadás


Google Hirdetések