Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilŠtěpán Říha
1
KIV/PPA1 cvičení 11 Cvičící: Pavel Bžoch
2
Osnova cvičení Souborový vstup a výstup Práce s textovými soubory
3
Souborový vstup a výstup Obecně se využívají třídy z balíku java.io Názvy tříd končící standardně slovem: –Reader – pro vstup –Writer – pro výstup
4
Souborový vstup I Budeme využívat třídu FileReader –Umožňuje otevřít soubor pro čtení –Poskytuje velmi omezené metody pro načítání dat ze souboru (např. read() pro čtení jednoho nebo více znaků) Pro čtení strukturovaných dat (čísel, řádek) je nutno použít další třídy –Např. BufferedReader, Scanner
5
Souborový vstup II Třída BufferedReader –Umožňuje rychlejší čtení (nyní nepodstatné) –Umožňuje načtení jedné řádky ze souboru (metoda String readLine()) –Typické použití: FileReader f1 = new FileReader(nazevSouboru); BufferedReader fr = new BufferedReader(f1); String radka = null; while ((radka = fr.readLine()) != null) { System.out.println(radka); } fr.close();
6
Souborový vstup III Třída Scanner –Lze použít stejně jako na standardní vstup –Doporučený způsob čtení dat –Typické použití: FileReader f1 = new FileReader(nazevSouboru); Scanner sc = new Scanner(f1); while (sc.hasNextLine()) { System.out.println(sc.nextLine()); } sc.close();
7
Souborový vstup IV Předchozí dva postupy lze zkombinovat –Kvůli rychlejšímu čtení (zatím nepodstatné) –Existují i další třídy přidávající další vlastnosti –Možné použití: FileReader f1 = new FileReader(nazevSouboru); BufferedReader f2 = new BufferedReader(f1) Scanner sc = new Scanner(f2); while (sc.hasNextLine()) { System.out.println(sc.nextLine()); } sc.close();
8
Souborový výstup I Budeme využívat třídu FileWriter –Umožňuje otevřít soubor pro zápis –Poskytuje velmi omezené metody pro zápis dat do souboru (např. write() pro zápis jednoho či více znaků) Pro zápis strukturovaných dat (čísel, řádek) je nutno použít další třídy –Např. BufferedWriter, PrintWriter
9
Souborový výstup II Kombinace BufferedWriter a PrintWriter –Umožňuje rychlejší zápis (nyní nepodstatné) –Stačí jen PrintWriter –Možné použití: FileWriter f1 = new FileWriter(nazevSouboru); BufferedWriter f2 = new BufferedWriter(f1); PrintWriter fw = new PrintWriter(f2) for (int i = 0; i < POCET_RADEK; i++) { fw.println(“Radek“ + (i + 1)); } fw.close(); //Aby nechybela data v souboru
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.