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

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

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

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

Programowanie obiektowe

Strumienie i serializacja

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

Strumienie, pliki. Sortowanie. Wyjątki.

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

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

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

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

Podstawy i języki programowania

Strumienie, pliki. Sortowanie. Wyjątki.

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

JAVA I SIECI. MATERIAŁY:

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

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

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

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

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

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

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

Przygotował: Jacek Sroka 1. Java SE. Strumienie

dr Krzysztof Podlaski

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

Wstęp do Java. Operacje Wejścia-Wyjścia Programowanie Wielowątkowe. dr Krzysztof Podlaski. Wydział Fizyki i Informatyki Stosowanej

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

Programowanie obiektowe

Programowanie Obiektowe (Java)

Wykład 2: Podstawy Języka

Komunikacja z użyciem gniazd aplikacje klient-serwer

Programowanie i struktury danych

Programowanie w języku Java

Platformy Programistyczne Zagadnienia sieciowe i wątki

Programowanie w języku Java

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Adresy URL. Zaawansowane technologie Javy 2019

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

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

Modu 9 Strumienie i pliki

Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie

Wprowadzenie do kompilatorów

Języki i Techniki Programowania II. Wykład 6. Wejście/Wyjście

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

Programowanie współbieżne i rozproszone

Sposoby przekazywania parametrów w metodach.

Bezpieczne uruchamianie apletów wg

Programowanie rozproszone w języku Java

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Programowanie Obiektowe Java

Zaawansowany kurs języka Python

Materiały do laboratorium I

Programowanie 3 - Funkcje, pliki i klasy

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

Zaawansowane techniki programowania C#

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Programowanie w języku Java WYKŁAD

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

Program do konwersji obrazu na cig zero-jedynkowy

Programowanie obiektowe

Wykład 4. Tablice. Pliki

na podstawie bazy Oracle NoSQL

Programowanie w języku Java. Bazy danych SQLite w Javie

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

Programowanie Obiektowe

Przykłady interfejsu TCP i UDP w Javie

Aplikacja wielowątkowa prosty komunikator

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

Java programowanie w sieci. java.net RMI

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 24

Programowanie Obiektowe Java

Liczby pseudolosowe. Math. Różne sposoby generowania liczb pseudolosowych. Wybrane metody klasy Math

Wybrane działy Informatyki Stosowanej

Java programowanie sieciowe

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

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Programowanie obiektowe

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

1. Wprowadzenie do C/C++

Programowanie współbieżne Laboratorium nr 11

MAS dr. Inż. Mariusz Trzaska. Wykład 3. Wybrane konstrukcje obiektowych języków programowania (2)

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

Programowanie obiektowe zastosowanie języka Java SE

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

Programowanie sieciowe

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Programowanie obiektowe

System obsªugi wej±cia i wyj±cia.

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)

Biblioteka standardowa - operacje wejścia/wyjścia

Programowanie obiektowe

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

Klonowanie MAC adresu oraz TTL

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

1. Wprowadzenie do C/C++

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

URL. Budowa URL (ang. Uniform Resource Locator): working#downloading

I/O (STRUMIENIE, PLIKI,...)

Java Podstawy. Michał Bereta

Transkrypt:

Inynieria oprogramowania Lecture XXX Java TM cz IV: IO Bartosz Walter <Bartek.Walter@man.poznan.pl>

Plan Klasa java.io.file Strumienie tekstowe Strumienie standardowe Properties

Wprowadzenie pakiet java.io.*; import java.io.*; wyjtek java.io.ioexception rzucaj niemal wszystkie metody klasy s zbudowane hierarchicznie wokół klas Reader i Writer (dla plików tekstowych) oraz InputStream i OutputStream (dla danych binarnych) obiekty strumieni s czsto dekorowane innymi obiektami udostpniajcymi nowe funkcje BufferedReader FileReader

Klasa java.io.file Reprezentuje ona albo nazw konkretnego pliku, albo nazw zbioru katalogu (s traktowane w zasadzie tak samo) String[] list() metoda która w przypadku katalogów zwraca tablice z nazwami plików znajdujcych si w danym katalogu String getname() zwraca nazw pliku String getabsolutepath() zwraca pełn ciek pliku boolean exists() czy istnieje boolean canwrite() moliwo zapisu boolean canread() moliwo czytania boolean isfile() czy plik boolean isdirectory() czy katalog boolean renameto(file newname) zmiana nazwy boolean mkdirs() tworzenie cieki o dowolnej złoonosci boolean delete() kasowanie pliku

Klasa java.io.file - przykład File katalog = new File("c:/katalog1"); File nowykatalog = new File("c:/katlog2"); //tworzymy katalog katalog.mkdirs(); //zmieniamy jego nazw katalog.renameto(nowykatalog);

I/O- informacje podstawowe Java wykorzystuje pojcie strumienia (ang. stream) Strumie - reprezentacja dowolnego ródła danych, jako obiektu zdolnego do wysyłania i odbierania porcji danych W Javie 1.1 zaszły istotne zmiany w stosunku do wczeniejszych wersji (cel: obsługa standardu Unicode) Rozróniamy dwa rodzaje strumieni: tekstowe i binarne Do obsługi tekstowych korzystamy z hierarchii klas Reader i Writer Do obsługi binarnych korzystamy z hierarchii klas InputStream i OutputStream

Reader i Writer Uywamy do obsługi strumieni tekstowych Powstały w celu obsługi standardu Unicode Podział na dwie podstawowe klasy Reader oraz Writer, które posiadaj metodyread() iwrite() pozwalajce na operacje czytania i zapisu bajtu lub tablicy bajtów(to samo InputStream ioutputstream) Nie korzystamy z tych metod bezporednio. Wykorzystuj je klasy dziedziczce, które słu do obsługi konkretnych ródeł.

Czytanie z plików tekstowych try { File plik = new File("test1.txt"); BufferedReader in = new BufferedReader( new FileReader(plik)); String line; while((line = in.readline())!= null) System.out.println(s); } catch(ioexception e1) { System.err.println("Błd przy przetwarzaniu"); }catch(filenotfoundexception e2{ System.err.println("Brak pliku: "+ plik); } finally { in.close(); }

Zapis do plików tekstowych File plik = new File("test1.txt"); String content ="Pierwsza Linia \ndruga Linia \nkoniec"; String line; BufferedReader in = new BufferedReader( new StringReader(s)); try { PrintWriter out = new PrintWriter( new BufferedWriter(new FileWriter(plik))); while ((line = in.readline())!= null) out.println(s2); out.close(); } catch(ioexception e1){ // obsługa błedów }

Standardowe wejcie-wyjcie wyjcie Termin odnosi si do koncepcji wywodzcych si z Unixa, stosowanej potem w innych systemach operacyjnych Dane wejciowe mog pochodzi ze standardowego wejcia, a dane wyjciowe program moe wysyła na standardowe wyjcie i standardowe wyjcie błdów Wyjcie jednego programu moe by wejciem drugiego System.in, System.out,System.err s obiektami

Czytanie ze standardowego wejcia try { InputStreamReader ireader = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(ireader); String line; // wprowadzenie pustego wiersza koczy ptl while ((line = in.readline())!= null) System.out.println(line); } catch(ioexception e1){ } // obsługa błdów

java.util.properties Wygodny system umoliwiajcy w prosty sposób konfiguracj ustawie programu Mog by uyte do zapisywania i wczytywania ustawie przy kadym uruchomieniu programu Poprzez prost modyfikacj wartoci par klucz/warto w pliku moemy łatwo zmieni konfiguracj Obiekt Properties składa si z par klucz/warto zapisanych w postaci String Properties mona wczyta z i zapisa do pliku

java.util.properties - przykład Properties props = System.getProperties(); // ale mona take new Properties(); Enumeration propnazwy = props.propertynames(); while (propnazwy.hasmoreelements()){ } String klucz = (String) propnazwy.nextelement(); String wartosc = (String) props.getproperty(propnazwa); System.out.println("Property " + klucz + ": " + wartosc);

Q & A