Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Java programozási nyelv Filekezelé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
Java I/O működése (stream)
Program File File Forrás Cél Billentyűzet Egyéb egyéb
4
I/O típusok Karakteres Bináris 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
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
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
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
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
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
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
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
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
Feladat 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 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
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
Szöveg beolvasás BufferReader bemenet =
new BuffereReader(new FileReader(“bemenet.txt”)); String line = bemenet.readline(); bemenet.close();
16
Szöveg kiírása PrintWriter kimenet =
new PrintWriter( new FileWriter("kimenet.txt")); kimenet.println("Serteperte, felseperte"); kimenet.close();
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
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
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
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
Vége
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.