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

Komoróczy Tamás 1 Java programozási nyelv Filekezelés.

Hasonló előadás


Az előadások a következő témára: "Komoróczy Tamás 1 Java programozási nyelv Filekezelés."— Előadás másolata:

1 Komoróczy Tamás 1 Java programozási nyelv Filekezelés

2 Komoróczy Tamás 2 Jogi rendelkezések A következőket teheted a művel: szabadon másolhatod, terjesztheted, bemutathatod és előadhatod a művet származékos műveket (feldolgozásokat) hozhatsz létre Az alábbi feltételekkel: Jelöld meg!. A szerző vagy a jogosult által meghatározott módon kell megjelölni a művet: Szerző és eredeti elérhetőség Ne add el!. Ezt a művet nem használhatod fel kereskedelmi célokra. Nevezd meg! - Ne add el! 2.5 Magyarország További információ a képre kattinva

3 Komoróczy Tamás 3 Cél Forrás Program Billentyűzet egyéb File Egyéb File Java I/O működése (stream)

4 Komoróczy Tamás 4 I/O típusok Karakteres –UNICODE karakterek (16 bit) –Reader –Writer –Szöveges állományok feldolgozásához is ezt használhatjuk Bináris –Byteokat kezel –InputStrem –OutputStrem –Bináris adatállományok feldolgozása

5 Komoróczy Tamás 5 Fileok kezelése Az állomány is stream Műveletek: –File megnyitása –Műveletek –File lezárása A különböző osztályok különböző módon kezelik az állomány végét!!!

6 Komoróczy Tamás 6 Karakteres állományok kezelése Kell a java.io Bemenethez használjuk a FileReader Kimenethez használjuk a FileWriter osztályt FileReader bemenet =new FileReader(˝feldolgozando.txt˝); … bemenet.close(); FileWriter kimenet=new FileWriter(˝irasra.txt˝); … kimenet.close();

7 Komoróczy Tamás 7 Karakteres file olvasása import java.io.*; public class kepremasol{ public static void main(String [] args) { try{ FileReader bemenet = new FileReader(“vers.txt”); while(true) { int c = bemenet.read(); if (c == -1) break; System.out.write((char)c); } bemenet.close(); } catch (IOException e){System.out.print(e);} } }

8 Komoróczy Tamás 8 Karakteres file írása import java.io.*; public class filebaszoveg{ public static void main(String [] args) { String szöveg=˝Terepszín kabátka˝; try{ FileWriter kimenet = new FileWriter(˝mentes.txt˝); for ( int i = 0 ; i < szöveg.length() ; i++){ int c =(int) szöveg.charAt(i); kimenet.write(c); } kimenet.close(); }catch (IOException e){System.out.print(e);} } }

9 Komoróczy Tamás 9 Karakteres állomány kezelése import java.io.*; public class masolas{ public static void main(String [] args) { try{ FileReader bemenet = new FileReader(“forras.txt”); FileWriter kimenet = new FileWriter(“cél.txt”); while(true) { int c = bemenet.read(); if (c == -1) break; kimenet.write(c); } bemenet.close(); kimenet.close(); } catch (IOException e){System.out.print(e);} }

10 Komoróczy Tamás 10 Bináris állományok kezelése Kell a java.io Bemenethez használjuk a FileInputStream, Kimenethez használjuk a FileOutputStream osztályt FileInputStream bemenet =new FileInputStrem(˝feldolgozando.dat˝) ; … bemenet.close(); FileOutputStream kimenet=new FileOutputStream(˝irasra.txt˝); … kimenet.close();

11 Komoróczy Tamás 11 Bináris file írása import java.io.*; public class filefeltolt{ public static void main(String [] args) { try{ FileOutputStream kimenet = new FileOutputStream(˝mentes.txt˝); for ( int i = 201 ; i <=210 ; i++){ kimenet.write(i); } kimenet.close(); }catch (IOException e) {System.err.print(e);} } }

12 Komoróczy Tamás 12 Bináris file olvasása import java.io.*; public class filebolkiir{ public static void main(String [] args) { try{ FileInputStream bemenet = new FileInputStream(“szamok.dat”); while(true) { int szam = bemenet.read(); if (szam == -1) break; System.out.println(szam); } bemenet.close(); } catch (IOException e) {System.err.print(e);} } }

13 Komoróczy Tamás 13 Feladat 1.Készítsünk Java programot amely az első paraméterként megadott állományt binárisan átmásolja a második paraméterként megkapott állományba 2.Készítsünk Java programot amely a paraméterként megkapott állomány páros karaktereit a paros.txt, a páratlan karaktereit a paratlan.txt állományba írja!

14 Komoróczy Tamás 14 Szövegfileok (pufferelt műveletek) Kell a java.io Nem elemenként hanem részenként történik a beolvasás. Ez a rész egy művelettel kezelhető. Olvasáshoz az osztályok –BufferedInputStream (string) –BufferedReader (byteok) Íráshoz az osztályok –PrintWriter (string) –PrintStream (byte)

15 Komoróczy Tamás 15 Szöveg beolvasás BufferReader bemenet = new BuffereReader(new FileReader(“bemenet.txt”)); String line = bemenet.readline(); bemenet.close();

16 Komoróczy Tamás 16 Szöveg kiírása PrintWriter kimenet = new PrintWriter( new FileWriter("kimenet.txt")); kimenet.println("Serteperte, felseperte"); kimenet.close();

17 Komoróczy Tamás 17 Feladat Adott a törpök.dat állomány amelyben soronként egy törp neve és számértékek. Hozzunk létre egy állományt amelyben a törp neve van és a hozzá tartozó számok összege!

18 Komoróczy Tamás 18 Megoldás import java.io.*; import java.util.*; public class torpatlag{ public static void main(String [] args) { try { BufferedReader bemenet = new BufferedReader(new FileReader("bemenet.txt")); PrintWriter kimenet = new PrintWriter(new FileWriter("kimenet.txt")); for ( String line = bemenet.readLine(); line != null; line = bemenet.readLine() ){ double sum = 0; StringTokenizer st = new StringTokenizer(line); String name = st.nextToken(); while ( st.hasMoreTokens() ) { String d = st.nextToken(); sum += Double.parseDouble(d); } kimenet.println(name + " " + Double.toString(sum)); } bemenet.close(); kimenet.close();} catch(IOException e){System.err.print(e);} } }

19 Komoróczy Tamás 19 StringTokenizer osztály String részekre bontása Megadható az elválasztó karakter StringTokenizer(String szöveg, String elválasztókarakter); Alapértelmezés a szóköz az elválasztásnak (\t\n\r\f – fehérszóközök)

20 Komoróczy Tamás 20 StringTokenizer osztály hasMoreTokens() –Igazat ad vissza ha van még rész nextToken() –A következő tokent adja vissza értékül countTokens() –Visszadja a hátralévő részek számát

21 Komoróczy Tamás 21 Vége


Letölteni ppt "Komoróczy Tamás 1 Java programozási nyelv Filekezelés."

Hasonló előadás


Google Hirdetések