STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE

Podobne dokumenty
Wykład 2. Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni poprzez sieć - obiekty URL

Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni przez sieć - obiekty URL

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

Języki i metody programowania Java INF302W Wykład 4

StringTokenizer bon = new StringTokenizer(bufor.readLine());

Bezpieczne uruchamianie apletów wg

Podstawy i języki programowania

Strumienie, pliki. Sortowanie. Wyjątki.

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

JAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt

Strumienie i serializacja

Podstawy otwartych języków programowania Wyjątki i strumienie I/O

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Biblioteki wejścia/wyjścia. Strumienie we/wy (I/O)

Wykład 4: Wejście/wyjście: strumienie Java

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Wykład 10: Wejście i Wyjście

Funkcje zawarte w bibliotece < io.h >

sieć 4) Mechanizm RMI jest zazwyczaj wykorzystywany w rozwiązaniach typu klient-serwer.

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Wykład 2: Podstawy Języka

Funkcje zawarte w bibliotece < io.h >

Strumienie, pliki. Sortowanie. Wyjątki.

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Podejście obiektowe. Tablice (1) obiektów

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia

1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Języki i metody programowania Java INF302W Wykład 2 (część 1)

MATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody

Programowanie obiektowe

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Wprowadzenie do języka Java

KOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

K O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Rozdział 7 Strumienie, operacje wejścia-wyjścia

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Programowanie obiektowe

Biblioteka standardowa - operacje wejścia/wyjścia

Podstawy programowania w języku C++

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Programowanie obiektowe

W języku C każdy plik fizyczny jest ciągiem bajtów, z których każdy może być niezależnie odczytany. Borland 01234

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

Java niezbędnik programisty spotkanie nr 11. Importy statyczne, wejście/wyjście, wyrażenia regularne, serializacja

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

Wykład 7 Tworzenie łącz w apletach, wątki, serializacja obiektów, gniazda

Java. Zadania z programowania z przykładowymi rozwiązaniami

Podstawy programowania obiektowego

MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 Aplikacja w języku Java. Pakiety i biblioteki Javy. Kompilacja i wykonanie programu Javy

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Programowanie w językach

Programowanie 3 - Funkcje, pliki i klasy

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Wykład 4. Tablice. Pliki

Przygotował: Jacek Sroka 1. Java SE. Strumienie

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

dr Krzysztof Podlaski

PODSTAWOWE ELEMENTY JĘZYKA JAVA INSTRUKCJE 1. Pętle

Operacje na plikach (niskiego poziomu) < IO.H >

Programowanie w języku Java WYKŁAD

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Programowanie w Internecie. Java

Języki i metody programowania Java Lab2 podejście obiektowe

Programowanie w języku Java

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy i języki programowania

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

Inynieria oprogramowania Lecture XXX. Java TM cz IV: IO. Bartosz Walter

Wykład 4: Klasy i Metody

Programowanie Obiektowe (Java)

Przypomnienie o klasach i obiektach

Pliki. Informacje ogólne. Obsługa plików w języku C

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie:

Protokół JDBC współpraca z relacyjnymi bazami danych

Programowanie, algorytmy i struktury danych

Programowanie obiektowe

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Operacje wejścia/wyjścia (odsłona druga) - pliki

Metody Metody, parametry, zwracanie wartości

Programowanie obiektowe

Algorytmy z powrotami. Algorytm minimax

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Pliki. Informacje ogólne. Obsługa plików w języku C

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

Transkrypt:

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE 1) Strumienie tekstowe wejściowe wprowadzanie danych Procedura korzystania ze strumieni tekstowych wejściowych powiązanych ze standardowym wejściem (konsola) 1) Należy utworzyć obiekt (np. typu InputStreamReader), powiązany ze źródłem danych (np. System.in) Przykład InputStreamReader wejscie = new InputStreamReader( System.in ); 2) W celu buforowania znaków pochodzących z obiektu powiązanego ze źródłem danych np. typu InputStreamReader należy utworzyć obiekt klasy BufferedReader Przykład BufferedReader bufor = new BufferedReader( wejscie ); lub BufferedReader bufor = new BufferedReader( wejscie, int ); //int-rozmiar bufora 3) Znaki mogą być odczytywane metodami obiektu buforującego: int read() np. int dana = bufor.read() 4) Całe ciągi znaków mogą być odczytane za pomocą: int read(char[] cbuf, int off, int len) metoda, która czyta do tablicy cbuf od indeksu off liczbę len znaków i zwraca przez return liczbę faktycznie odczytanych znaków 5) Całe wiersze mogą być odczytywane za pomocą metody obiektu buforującego: String readline() np. String dana = bufor.readline(), która czyta łańcuch typu String lub jego wartość null, gdy będzie osiągnięty koniec łańcucha (czyli koniec linii oznaczony znakami np.: \n, \r ) 6) Analiza odczytanego łańcucha może być przeprowadzona za pomocą obiektu klasy typu StringTokenizer StringTokenizer bon = new StringTokenizer(bufor.readLine()); 7) Innym sposobem jest analiza odczytanego łańcucha typu String bezpośrednio za pomocą metod klasy String Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 1

import java.io.*; import java.util.*; public class WEWY //plik WEWY.java { //wejściowy strumień tekstowy odczytuje strumien stdin (System.in) static InputStreamReader wejscie = new InputStreamReader( System.in ); //bufor klasa odczytuje wejściowy strumień znakowy wejscie i // przechowuje odczytywane znaki w buforze static BufferedReader bufor = new BufferedReader( wejscie ); //klasa do analizy składniowej jednostek lerksykalnych tzw. leksemów //(tokens) pobieranych metodą nexttoken() StringTokenizer bon; boolean weboolean() { return new Boolean(bon.nextToken()).booleanValue(); { System.err.println("Blad IO Boolean "+e); return false; char wechar() { { String s = bufor.readline(); return s.charat(0); { System.err.println("Blad IO char "+e); return 0; String westring() { { return bufor.readline(); { System.err.println("Blad IO String"); return ""; Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 2

byte webyte() { return Byte.parseByte(bon.nextToken()); { System.err.println("Blad IO byte "+e); return 0; { System.err.println( "Blad formatu byte "+e); return 0; short weshort() { return Short.parseShort(bon.nextToken()); { System.err.println("Blad IO short: "+e); return 0; { System.err.println( "Blad formatu short "+e); return 0; int weint() { return Integer.parseInt(bon.nextToken()); { System.err.println("Blad IO int "+e); return 0; { System.err.println( "Blad formatu int "+e); return 0; Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 3

long welong() { return Long.parseLong(bon.nextToken()); { System.err.println("Blad IO "+e); return 0L; { System.err.println( "Blad formatu long "+e); return 0L; float wefloat() { return new Float(bon.nextToken()).floatValue(); { System.err.println("Blad IO float "+e); return 0.0F; { System.err.println( "Blad formatu float "+e); return 0.0F; double wedouble() { return new Double(bon.nextToken()).doubleValue(); { System.err.println("Blad IO double "+e); return 0.0; { System.err.println( "Blad formatu double "+e); return 0; Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 4

public static void main (String args[]) {WE we = new WE(); { WEWY we = new WEWY(); System.out.print("Podaj char: "); System.out.println(we.weChar()); System.out.print("Podaj String: "); System.out.println(we.weString()); System.out.print("Podaj boolean: "); System.out.println(we.weBoolean()); System.out.print("Podaj byte: "); System.out.println(we.weByte()); System.out.print("Podaj short: "); System.out.println(we.weShort()); System.out.print("Podaj int: "); System.out.println(we.weInt()); System.out.print("Podaj long: "); System.out.println(we.weLong()); System.out.print("Podaj float: "); System.out.println(we.weFloat()); System.out.print("Podaj double: "); System.out.println(we.weDouble()); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 5

2) Strumienie tekstowe, strumienie bajtowe 2. Strumienie tekstowe plikowe 2.1. Procedura korzystania ze strumieni tekstowych powiązanych z plikami tekstowymi Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileWriter), powiązany ze plikiem danych tekstowych (np. "plik1.txt"); FileWriter plik = new FileWriter("plik1.txt"); 2) Znaki mogą być zapisywane do pliku za pomocą metody strumienia: void write(int c) 3) Całe ciągi znaków mogą być zapisywane do pliku za pomocą metody strumienia: void write(char[] cbuf, int off, int len) metoda, która czyta z tablicy cbuf od indeksu off liczbę len znaków i zapisuje do pliku 4) Część łańcucha można zapisać do pliku za pomocą metody strumienia: void write(string str, int off, int len) metoda, która czyta z łańcucha str od indeksu off liczbę len znaków i zapisuje do pliku Aby odczytać plik: 5) Należy utworzyć obiekt (np. typu FileReader), powiązany ze plikiem danych tekstowych (np. "plik1.txt"); FileReader plik = new FileReader("plik1.txt"); 6) Znaki mogą być odczytywane metodą strumienia: int read (); np. int dane = plik.read() 7) Całe ciągi znaków mogą być odczytane za pomocą metody strumienia: int read(char[] cbuf, int off, int len) metoda, która czyta z pliku i zapisuje do tablicy cbuf od indeksu off liczbę len znaków i zwraca przez return liczbę faktycznie odczytanych znaków 8) Po zapisie i odczycie strumień należy zamknąć metodą close() Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 6

import java.io.*; import java.util.*; public class WEWY4 { static String westring() //metoda pobiera z klawiatury łańcuchy { InputStreamReader wejscie = new InputStreamReader( System.in ); BufferedReader bufor = new BufferedReader( wejscie ); { return bufor.readline(); { System.err.println("Blad IO String"); return ""; static void Zapiszplik4() //metoda zapisuje plik { String dane="1"; { FileWriter plik = new FileWriter ("plik1.txt"); while (!dane.equals("")) { System.out.print("Podaj dane: "); dane=westring(); if (!dane.equals("")) plik.write(dane,0,dane.length()); plik.close(); { System.out.println ("Blad zapisu pliku tekstowego"+e); static void Odczytajplik4() //metoda odczytuje plik { int dane = 0; { FileReader plik = new FileReader ("plik1.txt"); dane=plik.read(); while (dane!=-1) { System.out.print((char)dane); dane=plik.read(); plik.close(); System.out.println(); { System.out.println ("Blad odczytu pliku tekstowego"+e); public static void main(string[] args) { Zapiszplik4(); //metody typu static Odczytajplik4(); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 7

2.2. Procedura korzystania ze strumieni tekstowych buforowanych powiązanych z plikami tekstowymi Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileWriter), powiązany ze plikiem danych tekstowych (np. "plik2.txt"); FileWriter plik = new FileWriter("plik2.txt"); 2) W celu buforowania znaków pochodzących z obiektu powiązanego ze źródłem danych np. typu FileWriter należy utworzyć obiekt klasy BufferedWriter BufferedWriter bufor = new BufferedWriter( plik ); 3) Znaki mogą być zapisywane do pliku za pomocą metody bufora: void write(int c) 4) Całe ciągi znaków mogą być zapisywane do pliku za pomocą metody bufora: void write(char[] cbuf, int off, int len) metoda, która czyta z tablicy cbuf od indeksu off liczbę len znaków i zapisuje do pliku 5) Część łańcucha można zapisać do pliku za pomocą metody bufora: void write(string str, int off, int len) metoda, która czyta z łańcucha str od indeksu off liczbę len znaków i zapisuje do pliku Aby odczytać plik: 6) Należy utworzyć obiekt (np. typu FileReader), powiązany ze plikiem danych tekstowych (np. "plik1.txt"); FileReader plik = new FileReader("plik2.txt"); 7) W celu buforowania znaków pochodzących z obiektu powiązanego ze źródłem danych np. typu FileWriter należy utworzyć obiekt klasy BufferedReader BufferedReader bufor = new BufferedReader( plik ); 8) Znaki mogą być odczytywane metodą bufora: int read (); np. int dane = plik.read() 9) Całe ciągi znaków mogą być odczytane za pomocą metody bufora: int read(char[] cbuf, int off, int len) metoda, która czyta plik i zapisuje do tablicy cbuf od indeksu off liczbę len znaków i zwraca przez return liczbę faktycznie odczytanych znaków 10) Całe wiersze mogą być odczytywane za pomocą metody obiektu buforującego: String readline() np. String dana = bufor.readline(), która czyta w pliku łańcuch typu String lub jego wartość null, gdy będzie osiągnięty koniec łańcucha (czyli koniec linii oznaczony znakami np.: \n, \r ) 11) Po zapisie i odczycie bufor należy zamknąć metodą close() Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 8

import java.io.*; import java.util.*; public class WEWY5 { static String westring() { InputStreamReader wejscie = new InputStreamReader( System.in ); BufferedReader bufor = new BufferedReader( wejscie ); { return bufor.readline(); { System.err.println("Blad IO String"); return ""; static void Zapiszplik5() { String dane="1"; { FileWriter plik = new FileWriter ("plik2.txt"); BufferedWriter bufor = new BufferedWriter (plik); while (!dane.equals("")) { System.out.print("Podaj dane: "); dane=westring(); if (!dane.equals("")) bufor.write(dane, 0, dane.length()); bufor.close(); { System.out.println ("Blad zapisu pliku tekstowego"+e); static void Odczytajplik5() { String dane="0"; { FileReader plik = new FileReader ("plik2.txt"); BufferedReader bufor = new BufferedReader (plik); dane=bufor.readline(); while (dane!=null) { System.out.print(dane); dane=bufor.readline(); bufor.close(); System.out.println(); { System.out.println ("Blad odczytu pliku tekstowego"+e); public static void main(string[] args) { Zapiszplik5(); Odczytajplik5(); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 9

3. Strumienie bajtowe plikowe 3.1. Procedura korzystania ze strumieni bajtowych powiązanych z plikami binarnymi Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np. "plik1.dat"); FileOutputStream plik = new FileOutputStream("plik1.dat"); 2) Pojedyncze bajty mogą być zapisywane do pliku za pomocą metody strumienia: void write(int c) 3) Całe ciągi bajtów mogą być zapisywane do pliku za pomocą metody strumienia: void write(byte[] cbuf) metoda, która czyta z tablicy cbuf od indeksu off liczbę cbuf.length bajtów i zapisuje do pliku 4) Całe ciągi bajtów mogą być zapisywane do pliku za pomocą metody strumienia: void write(byte[] cbuf, int off, int len) metoda, która czyta z tablicy cbuf od indeksu off liczbę len bajtów i zapisuje do pliku Aby odczytać plik: 5) Należy utworzyć obiekt (np. typu FileInputStream), powiązany ze plikiem danych binarnych (np. "plik1.dat"); FileInputStream plik = new FileInputStream("plik1.dat"); 6) Pojedyncze bajty mogą być odczytywane metodą strumienia: int read (); np. int dane = plik.read() 7) Całe ciągi bajtów mogą być odczytane za pomocą metody strumienia: int read (byte[] cbuf) metoda, która czyta plik i zapisuje do tablicy cbuf liczbę cbuf.length bajtów i zwraca przez return liczbę faktycznie odczytanych bajtów 8) Całe ciągi bajtów mogą być odczytane za pomocą metody strumienia: int read (byte[] cbuf, int off, int len) metoda, która czyta plik i zapisuje do tablicy cbuf od indeksu off liczbę len bajtów i zwraca przez return liczbę faktycznie odczytanych bajtów 9) Po zapisie i odczycie strumień należy zamknąć metodą close() Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 10

import java.io.*; import java.util.*; public class WEWY1 { static byte webyte() { InputStreamReader wejscie = new InputStreamReader( System.in ); BufferedReader bufor = new BufferedReader( wejscie ); StringTokenizer zeton; { zeton = new StringTokenizer(bufor.readLine()); return Byte.parseByte(zeton.nextToken()); { System.err.println("Blad IO byte "+e); return 0; { System.err.println( "Blad formatu byte "+e); return 0; static void Zapiszplik1() { int dane=0; { FileOutputStream plik = new FileOutputStream ("plik1.dat"); while (dane!=-1) { System.out.print("Podaj dane: "); dane=webyte(); if (dane!=-1) plik.write(dane); plik.close(); { System.out.println ("Blad zapisu pliku bajtowego"+e); static void Odczytajplik1() { int dane=0; { FileInputStream plik = new FileInputStream ("plik1.dat"); dane=plik.read(); while (dane!=-1) { System.out.print(dane); dane=plik.read(); System.out.println(); plik.close(); { System.out.println ("Blad odczytu pliku bajtowego"+e); public static void main(string[] args) { Zapiszplik1(); Odczytajplik1(); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 11

3.2. Procedura korzystania ze strumieni bajtowych buforowanych powiązanych z plikami binarnymi Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np. "plik2.dat"); FileOutputStream plik = new FileOutputStream("plik2.dat"); 2) W celu buforowania bajtów pochodzących z obiektu powiązanego ze źródłem danych np. typu FileOutputStream należy utworzyć obiekt klasy BufferedOutputStream Przykład BufferedOutputStream bufor = new BufferedOutputStream( plik ); 3) Pojedyncze bajty mogą być zapisywane do pliku za pomocą metody bufora: void write(int c) 4) Całe ciągi bajtów mogą być zapisywane do pliku za pomocą metody bufora: void write(byte[] cbuf, int off, int len) metoda, która czyta z tablicy cbuf od indeksu off liczbę len bajtów i zapisuje do pliku Aby odczytać plik: 5) Należy utworzyć obiekt (np. typu FileInputStream), powiązany ze plikiem danych binarnych (np. "plik2.dat"); FileInputStream plik = new FileInputStream("plik2.dat"); 6) W celu buforowania bajtów pochodzących z obiektu powiązanego ze źródłem danych np. typu FileInputStream należy utworzyć obiekt klasy BufferedInputStream BufferedInputStream bufor = new BufferedInputStream (plik); 7) Pojedyncze bajty mogą być odczytywane metodą bufora: int read (); np. int dane = plik.read() 8) Całe ciągi bajtów mogą być odczytane za pomocą metody bufora: int read (byte[] cbuf, int off, int len) metoda, która czyta plik i zapisuje do tablicy cbuf od indeksu off liczbę len bajtów i zwraca przez return liczbę faktycznie odczytanych bajtów 9) Po zapisie i odczycie bufor należy zamknąć metodą close() Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 12

import java.io.*; import java.util.*; public class WEWY2 { static byte webyte() { InputStreamReader wejscie = new InputStreamReader( System.in ); BufferedReader bufor = new BufferedReader( wejscie ); StringTokenizer zeton; { zeton = new StringTokenizer(bufor.readLine()); return Byte.parseByte(zeton.nextToken()); { System.err.println("Blad IO byte "+e); return 0; { System.err.println( "Blad formatu short "+e); return 0; static void Zapiszplik2() { int dane=0; { FileOutputStream plik = new FileOutputStream ("plik2.dat"); BufferedOutputStream bufor = new BufferedOutputStream (plik); while (dane!=-1) { System.out.print("Podaj dane: "); dane=webyte(); if (dane!=-1) bufor.write(dane); bufor.close(); { System.out.println ("Blad zapisu pliku bajtowego"+e); static void Odczytajplik2() { int dane=0; { FileInputStream plik = new FileInputStream ("plik2.dat"); BufferedInputStream bufor = new BufferedInputStream (plik); dane=plik.read(); while (dane!=-1) { System.out.print(dane); dane=bufor.read(); System.out.println(); bufor.close(); { System.out.println ("Blad odczytu pliku bajtowego"+e); public static void main(string[] args) { Zapiszplik2(); Odczytajplik2(); Autor: Zofia Kruczkiewicz, Programowanie obiektowe Java, wykład 9 13