Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Sedmé cvičení Soubory Vstupně/výstupní proudy. Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje.

Podobné prezentace


Prezentace na téma: "Sedmé cvičení Soubory Vstupně/výstupní proudy. Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje."— Transkript prezentace:

1 Sedmé cvičení Soubory Vstupně/výstupní proudy

2 Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje soubor i adresář Jméno souboru se zadává jako parametr konstruktoru Př.: File soubor = new File(“a.txt”);

3 Java cv73 Soubory – přenositelnost Položky třídy File File.separator – oddělovač adresářů Na windows \, na UNIXU / File.pathSeparator – oddělovač cest Na windows ; na UNIXU : separatorChar a pathSeparatorChar Stejné jako předchozí, jen jsou typu char Př.: File soub = new File(“TMP”+File.separator+”a.txt”);

4 Java cv74 Některé metody třídy File isFile(), isDirectory() pro zjištění co je to zač exists() zda soubor existuje createNewFile() vytvoří soubor delete() smaže soubor getName(), getPath(), getParent(), getAbsolutePath() zjištění vlastností souboru length() vrátí délku souboru list() vrátí obsah adresáře jako String[] listFiles() vrátí obsah adresáře jako File[]

5 Java cv75 Vstup a výstup (I/O)

6 Java cv76 Vstup a výstup Proudy Vstupní/výstupní Bytově/znakově orientované Čtení z různých zdrojů (soubory, paměť, síťové spojení,…) Proudy provádějící vlastní přenos dat Filtry (vlastnosti) Množství tříd – balík java.io

7

8 Java cv78 Bytově orientované Vstupní – InputStream Abstraktní třída, předek všech vstupních bytově orientovaných proudů Potomci: FileInputStream, ByteArrayInputStream,… Výstupní – OutputStream Abstraktní třída, předek všech výstupních bytově orientovaných proudů Potomci:FileOutputStream, ObjectOutputStream,…

9 Java cv79 Znakově orientované Vstupní – Reader Abstraktní třída, předek všech vstupních znakově orientovaných proudů Výstupní – Writer Abstraktní třída, předek všech výstupních znakově orientovaných proudů

10 Java cv710 Třídy provádějící přenos ZařízeníPřesun znakůPřesun bytů SouborFileReader FileWriter FileInputStream FileOutputStream PaměťCharArrayReader CharArrayWriter StringReader StringWriter ByteArrayInputStream ByteArrayOutputStream StringBufferInputStream Pipe (roura)PipedReader PipedWriter PipedInputStream PipedOutputStream

11 Java cv711 Příklad - kopírování souboru File vstupni = new File(“a.txt”); File vystupni = new File(“b.txt”); FileReader fr = new FileReader(vstupni); FileWriter fw = new FileWriter(vystupni); int c = fr.read(); while (c != -1) { fw.write(c); c = fr.read(); } fr.close(); fw.close();

12 Java cv712 Filtry ZařízeníPřesun znakůPřesun bytů BufferováníBufferedReader BufferedWriter BufferedInputStream BufferedOutputStream Vrácení znaku zpět PushbackReaderPushbackInputStream Formátovaný výstup PrintWriterPrintStream Přesun základních datových typů -DataInputStream DataOutputStream Přesun objektů-ObjectInputStream ObjectOutputStream Mosty mezi typy proudů InputStreamReader OuputStreamWriter -

13 Java cv713 Vytváření Při vytváření filtru se v konstruktoru zadá proud, s kterým má filtr pracovat Př: FileReader fr = new FileReader(“vstup.txt”); BufferedReader br = new BufferedReader(fr); System.out.println(br.readLine());

14 Java cv714 Příklad – zápis základních typů int celeCislo = 2; double realneCislo = Math.PI; String retezec = “\u010Cau sv\u011Bte”; FileOutputStream fs = new FileOutputStream(“soubor.bin”); DataOutputStream dos = new DataOutputStream(fos); dos.writeInt(celeCislo); dos.writeDouble(realneCislo); dos.writeUTF8(retezec); fs.close(); DataInputStream dis = new DataInputStream(new FileInputStream(“soubor.bin”); System.out.println(dis.readInt()); System.out.println(dis.readDouble()); System.out.println(dis.readUTF8()); dis.close();

15 Java cv715 Základní výjimky při práci s I/O IOException obecná výjimka vstupu a výstupu, vyhazuje se při chybě při čtení, psaní,… předek všech výjimek týkajících se vstupu a výstupu FileNotFoundException nelze otevřít soubor EOFException pokus o čtení za koncem souboru …

16


Stáhnout ppt "Sedmé cvičení Soubory Vstupně/výstupní proudy. Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje."

Podobné prezentace


Reklamy Google