System obsªugi wej±cia i wyj±cia.
|
|
- Stanisława Nowacka
- 5 lat temu
- Przeglądów:
Transkrypt
1 System obsªugi wej±cia i wyj±cia. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW
2 Java I/O Java I/O (Input and Output) - jest to zaawansowany system obsªugi wej±cia i wyj±cia Java u»ywa koncepcji strumieni, strumieniami mog by pliki, dane przesyªane przez internet i inne biblioteka java.io zawiera wszystkie klasy potrzebne do operacji na wej±ciu i wyj±ciu aplikacji do komunikacji przez sie sªu»y Java Networking API (b dzie omawiana pó¹niej) istnieje alternatywne IO API - Java NIO (Non-blocking IO - dost p bez blokowania) 3 strumienie s tworzone automatycznie: 2 / 36 System.out - standardowy strumie«wyj±cia System.in - standardowy strumie«wej±cia System.err - standardowy strumie«bª dów
3 Klasa java.io.file reprezentuje pliki lub katalogi zawiera wiele wªasno±ci zale»nych od systemu operacyjnego JDK 1.7 zwiera bardziej wszechstronn i pozbawian wielu ogranicze«klas java.nio.file.path biblioteka java.io zawiera wszystkie klasy potrzebne do operacji na wej±ciu i wyj±ciu aplikacji konstruktory: public File(String pathstring) public File(String parent, String child) public File(File parent, String child) public File(URI uri) 3 / 36
4 Metody werykacji plików lub katalogów public boolean exists() public long length() public boolean isdirectory() public boolean isfile() public boolean canread() public boolean canwrite() public boolean delete() public void deleteonexit() public boolean renameto(file dest) public boolean mkdir() 4 / 36
5 Wyj tki wej±cia/wyj±cia 5 / 36
6 Strumienie znaków i bajtów 6 / 36
7 Metody OutputStream OutputStream jest klas abstrakcyjn i jest klas bazow dla wszystkich klas reprezentuj cych wyj±ciowy strumie«bajtów public void write(int)throws IOException public void write(byte[])throws IOException public void ush()throws IOException public void close()throws IOException 7 / 36
8 Hierarchia OutputStream 8 / 36
9 Metody InputStream InputStream jest klas abstrakcyjn i jest klas bazow dla wszystkich klas reprezentuj cych wej±ciowy strumie«bajtów public abstract int read()throws IOException public int available()throws IOException public void close()throws IOException 9 / 36
10 Hierarchia InputStream 10 / 36
11 Klasy strumieni Type Input (Byte) Output (Byte) Input (Character) Output (Character) Arrays ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter Pipes PipedInputStream PipedOutputStream PipedReader PipedWriter Buering BueredInputStream BueredOutputStream BueredReader BueredWriter Filtering FilterInputStream FilterOutputStream FilterReader FilterWriter Strings StringReader StringWriter Data DataInputStream DataOutputStream Data - Formatted PrintStream PrintWriter Objects ObjectInputStream ObjectOutputStream Utilities SequenceInputStream 11 / 36
12 We/Wy bazuj ce na bajtach 12 / 36
13 Obsªuga strumieni - przykªad FileInputStream in = null ;... try { // otwarcie strumienia wej±ciowego in = new FileInputStream (...); } catch ( IOException ex ) { ex. printstacktrace (); } finally { // zawsze zamykaj I/ O try { if ( in!= null ) in. close (); } catch ( IOException ex ) { ex. printstacktrace (); } } try ( FileInputStream in = new FileInputStream (...)){ } catch ( IOException ex ) { ex. printstacktrace (); } // Automatycznie zamyka strumien 13 / 36
14 Opakowywanie strumieni wej±cia/wyj±cia 14 / 36
15 Przykªad opakowywania FileInputStream filein = new FileInputStream (" in. dat " ); BufferedInputStream bufferin = new BufferedInputStream ( filein ); DataInputStream datain = new DataInputStream ( bufferin ); // lub DataInputStream in = new DataInputStream ( new BufferedInputStream ( new FileInputStream (" in. dat " ))); 15 / 36
16 Metody DataInputStream public nal int readint() throws IOExcpetion; public nal double readdoube() throws IOExcpetion; public nal byte readbyte() throws IOExcpetion; public nal char readchar() throws IOExcpetion; public nal short readshort() throws IOExcpetion; public nal long readlong() throws IOExcpetion; public nal boolean readboolean() throws IOExcpetion; public nal oat readfloat() throws IOExcpetion; public nal int readunsignedbyte() throws IOExcpetion; public nal int readunsignedshort() throws IOExcpetion; public nal String readline() throws IOException; public nal String readutf() throws IOException; 16 / 36
17 Metody DataOutputStream public nal void writeint(int i) throws IOExcpetion; public nal void writefloat(oat f) throws IOExcpetion; public nal void writedoube(double d) throws IOExcpetion; public nal void writebyte(int b) throws IOExcpetion; public nal void writeshort(int s) throws IOExcpetion; public nal void writelong(long l) throws IOExcpetion; public nal void writeboolean(boolean b) throws IOExcpetion; public nal void writechar(int i) throws IOExcpetion; public nal void writebytes(string str) throws IOExcpetion; public nal void writechars(string str) throws IOExcpetion; - Big-endian public nal void writeutf(string str) throws IOException; 17 / 36
18 Strumienie bazuj ce na znakach 18 / 36
19 Pakiet java.nio.charset tªumaczy z wewn trznego kodowania Java, Unicode (UCS-2), na inne kodowania, np. US-ASCII, ISO-8859-x, UTF-8, UTF-16, UTF-16BE, UTF-16LE, itp. metody: public static SortedMap<String,Charset> availablecharsets() public static Charset defaultcharset() public static Charset forname(string charsetname) public static boolean issupported(string charsetname) aby zmienic domy±ny charset dla JVM: java -Dfile.encoding=UTF-8 TestCharset 19 / 36
20 Serializacja obiektów i strumienie obiektów (1/2) strumienie danych pozwalaj tylko na zapis i odczyt typów prymitywnych i String strumienie obiektów pozwalaj pój± krok dalej, wi c zapisywa i odczytywa caªe obiekty (równie» struktury danych wraz z danymi) serializacja obiektu jest to proces reprezentacji "pewnego stanu obiektu" za pomoc strumienia bitów w taki sposób, aby ten strumie«bitów mógª by zapisany na no±niku zewn trznym ( dysku czy przez sie ) 20 / 36
21 Serializacja obiektów i strumienie obiektów (2/2) strumie«bitów stworzony przez serializacj mo»e by pó¹niej u»yty do rekonstrukcji zapisanego stanu obiektu serializacja obiektów jest konieczna, aby przesªa obiekt w sposób trwaªy (persistence) do aplikacji takich jak: web serwisy, aplikacje rozproszone na obiektach (np. Hadoop), Remote Method Invocation (RMI) obiekty, które wymagaj serializacji musz implementowa interfejs java.io.serializable lub java.io.externalizable bardzo du»o obiektów w Javie jest serializowalnych, np. wrapery, kolekcje, klasy GUI 21 / 36
22 Obsªuga strumieni obiektów - przykªad ObjectOutputStream out = new ObjectOutputStream ( new BufferedOutputStream ( new FileOutputStream ( " object. ser " ))); out. writeobject (" Aktualny czas " ); out. writeobject ( new Date ()); out. flush (); out. close (); ObjectInputStream in = new ObjectInputStream ( new BufferedInputStream ( new FileInputStream ( " object. ser " ))); String str = ( String ) in. readobject (); Date d = ( Date ) in. readobject ( new Date ()); in. close (); 22 / 36
23 Strumienie obiektów - uwagi typy prymitywne i tablice s domy±lnie serializowalne ObjectInputStream i ObjectOutputStream implementuj DataInput i DataOutput, wi c mo»na u»ywa ich metod takich, jak np. writeint() pola statyczne nie s serializowalne, poniewa» nale» do klasy a nie do obiektu aby nie serializowa wybranych pól nale»y u»y modykatora transient 23 / 36
24 Wej±cie/wyj±cie w Java 1.7 w Javie 1.7 dodano rozszerzony system obsªugi w pakiecie java.nio.file oraz pakietach powi zanych aby utworzy uchwyt do ±cie»ki nale»y u»y java.nio.file.paths public static Path get(string rst, String... more) public static Path get(uri uri) klasa java.nio.file.files obsªuguje pliki i katalogi klasa Files.walkFileTree() - sªu»y do poruszania si po drzewie katalogów 24 / 36
25 Kanaªy i bufory kanaª klasy Channel - jest podobny do strumienia, ale nie ma tam blokowania z kanaªu mo»emy wczyta dane do bufora klasy Buffer jest wiele rodzajów kanaªów: FileChannel - czyta i zapisuje dane do pliku DatagramChannel - czyta i zapisuje dane przez sie prze UDP SocketChannel - czyta i zapisuje dane przez sie prze TCP ServerSocketChannel - pozwala nasªuchiwa na poªczenia TCP jak web serwer klasa Selector - pozwala jednemu w tkowi na obsªug wielu kanaªów 25 / 36
26 Bufory w Java NIO 26 / 36
27 Pojemno± bufora, pozycja i limit 27 / 36
28 Klasa java.nio.buer 28 / 36
29 Klasa Channel i Buer - przykªad RandomAccessFile afile = new RandomAccessFile ( " nio - data. txt ", " rw " ); FileChannel inchannel = afile. getchannel (); ByteBuffer buf = ByteBuffer. allocate (48); int bytesread = inchannel. read ( buf ); while ( bytesread!= -1) { System. out. println (" Read " + bytesread ); buf. flip (); while ( buf. hasremaining ()){ System. out. print (( char ) buf. get ()); } buf. clear (); bytesread = inchannel. read ( buf ); } afile. close (); 29 / 36
30 Java NIO: Scattering Read ByteBuffer header = ByteBuffer. allocate (128); ByteBuffer body = ByteBuffer. allocate (1024); ByteBuffer [] bufferarray = { header, body }; channel. read ( bufferarray ); 30 / 36
31 Java NIO: Gathering Write ByteBuffer header = ByteBuffer. allocate (128); ByteBuffer body = ByteBuffer. allocate (1024); // zapis danych do buforów ByteBuffer [] bufferarray = { header, body }; channel. write ( bufferarray ); 31 / 36
32 Selektor w Java NIO Selector selector = Selector. open (); channel. configureblocking ( false ); SelectionKey key = channel. register ( selector, SelectionKey. OP_READ ) // SelectionKey. OP_CONNECT // SelectionKey. OP_ACCEPT // SelectionKey. OP_READ // SelectionKey. OP_WRITE 32 / 36
33 Selektor - przykªad Selector selector = Selector. open (); channel. configureblocking ( false ); SelectionKey key = channel. register ( selector, SelectionKey. OP_READ ) while ( true ) { int readychannels = selector. select (); if ( readychannels == 0) continue ; Set < SelectionKey > selectedkeys = selector. selectedkeys (); Iterator < SelectionKey > keyiterator = selectedkeys. iterator (); while ( keyiterator. hasnext ()) { SelectionKey key = keyiterator. next (); if ( key. isacceptable ()) { // a connection was accepted by a ServerSocketChannel. } else if ( key. isconnectable ()) { // a connection was established with a remote server. } else if ( key. isreadable ()) { // a channel is ready for reading } else if ( key. iswritable ()) { // a channel is ready for writing } keyiterator. remove (); } 33 / 36 }
34 Java IO vs Java NIO (1/2) 34 / 36
35 Java IO vs Java NIO (2/2) Java NIO - pojedynczy w tek obsªuguje wiele poª cze«java IO - jadno poª czenie jest obsªugiwane przez jeden watek 35 / 36
36 36 / 36 Pytania?
STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW
STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW 1. Procedura korzystania ze strumieni danych Aby utworzyć plik: 1) Należy utworzyć obiekt (np. typu FileOutputStream), powiązany ze plikiem danych binarnych (np.
Bardziej szczegółowoWykład 4: Wejście/wyjście: strumienie Java
PK1 2006_2018 Walery Susłow Programowanie komputerów Wykład 4: Wejście/wyjście: strumienie Java dr inż. Walery Susłow walery.suslow@tu.koszalin.pl Wejście/wyjście Podstawowy mechanizm wejścia-wyjścia znajduje
Bardziej szczegółowoKurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016
Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,
Bardziej szczegółowoBiblioteki wejścia/wyjścia. Strumienie we/wy (I/O)
Biblioteki wejścia/wyjścia Strumienie we/wy (I/O) Pojęcie strumienia Strumień reprezentuje źródło lub odbiorcę danych (obiekt zdolny odbierać lub produkować dane). Strumień ukrywa szczegóły związane z
Bardziej szczegółowoStrumienie i serializacja
Strumienie i serializacja Prezentacja dostępna na Syriuszu: http://sirius.cs.put.poznan.pl/~inf80156 Klasy: InputStream, OutputStream, Reader i Writer W Javie hierarchia strumieni oparta jest o cztery
Bardziej szczegółowoMetody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany
Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany plik. boolean exists() sprawdza czy plik o zadanej nazwie
Bardziej szczegółowoJęzyki i Techniki Programowania II. Wykład 6. Wejście/Wyjście
Języki i Techniki Programowania II Wykład 6 Wejście/Wyjście Podstawowy podział strumieni Strumienie: Bajtowe: (Stream) Wejściowe (InputStream, FilterInputStream...) Wyjściowe (OutputStream, FilterOutputStream...)
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 4
Języki i metody programowania Java INF302W Wykład 4 Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Strumienie binarne i tekstowe niebuforowane i buforowane, obsługa plików tekstowych, wprowadzanie
Bardziej szczegółowoInynieria oprogramowania Lecture XXX. Java TM cz IV: IO. Bartosz Walter
Inynieria oprogramowania Lecture XXX Java TM cz IV: IO Bartosz Walter Plan Klasa java.io.file Strumienie tekstowe Strumienie standardowe Properties Wprowadzenie pakiet java.io.*;
Bardziej szczegółowoPodstawy otwartych języków programowania Wyjątki i strumienie I/O
Podstawy otwartych języków programowania Wyjątki i strumienie I/O Wiktor Wandachowicz Wyjątki Podstawą filozofii Javy jest założenie, że: źle sformułowany kod nie zostanie wykonany Wyjątki są mechanizmem
Bardziej szczegółowoProgramowanie Obiektowe (Java)
1. Kontenery w Javie 5 Wykład dziewiąty 1 import java.util.*; 2 3 class Element { 4 private int value; 5 6 public String tostring() { 7 return new Integer(value).toString(); 8 } 9 10 public Element(int
Bardziej szczegółowo1 Klasa File. 2 Writer. Programowanie w j zyku Java - Adam Krechowicz. Klasa File zapewnia podstawowe operacje na plikach
Programowanie w j zyku Java - Adam Krechowicz 1 Klasa File Klasa File zapewnia podstawowe operacje na plikach import java.io.file; public class FileTest { File f = new File("/home/adam/abc.txt"); f.createnewfile();
Bardziej szczegółowoJava niezbędnik programisty spotkanie nr 11. Importy statyczne, wejście/wyjście, wyrażenia regularne, serializacja
Java niezbędnik programisty spotkanie nr 11 Importy statyczne, wejście/wyjście, wyrażenia regularne, serializacja 1 Importowanie składowych statycznych Opracował Import static java.lang.system.out; //import
Bardziej szczegółowoRozdział 7 Strumienie, operacje wejścia-wyjścia
Rozdział 7 Strumienie, operacje wejścia-wyjścia 7.1 Strumienie 7.2 Standardowe obsługa wejścia-wyjścia - klasy InputStream oraz OutputStream 7.2.1 Obsługa wejścia klasa InputStream 7.2.2 Obsługa wejścia
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoWykład 10: Wejście i Wyjście
Wykład 10: Wejście i Wyjście Pakiet java.io. Wejście/Wyjście Program realizuje wejście/wyjście przez użycie potoku. Ten sam sposób obsługi różnych urządzeń: konsola klawiatura plik na dysku gniazdko sieciowe,
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Bardziej szczegółowoJava Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.
Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.
Bardziej szczegółowoWykład 2. Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni poprzez sieć - obiekty URL
Wykład 2 Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni poprzez sieć - obiekty URL 1. Procedura korzystania ze strumieni tekstowych wejściowych powiązanych ze standardowym
Bardziej szczegółowodr Krzysztof Podlaski
dr Krzysztof Podlaski Wydział Fizyki i Informatyki Stosowanej 19.11.2010 Łódź Wstęp do Java, wykład 3 1 Biblioteki standardowe Obszerny zestaw Klas i Interfejsów Obsługa Strumieni We-Wy Dysków Sieci java.io,
Bardziej szczegółowoKOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika KOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Komunikacja
Bardziej szczegółowoWstęp do Java. Operacje Wejścia-Wyjścia Programowanie Wielowątkowe. dr Krzysztof Podlaski. Wydział Fizyki i Informatyki Stosowanej
Wstęp do Java Operacje Wejścia-Wyjścia Programowanie Wielowątkowe dr Krzysztof Podlaski Wydział Fizyki i Informatyki Stosowanej 19.03.2015 Łódź 1 Obsługa procesów We-Wy Biblioteki standardowe Obszerny
Bardziej szczegółowoSTRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE
STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE 1) Strumienie tekstowe wejściowe wprowadzanie danych Procedura korzystania ze strumieni tekstowych wejściowych
Bardziej szczegółowoK O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika K O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska
Bardziej szczegółowoStrumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni przez sieć - obiekty URL
Strumienie tekstowe (wprowadzanie danych z klawiatury) i bajtowe, otwieranie strumieni przez sieć - obiekty URL Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 1. Strumienie
Bardziej szczegółowoProgramowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 31.03.2014 WYKŁAD 6 Operacje we/wy Operacje we/wy
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 9 Serializacja Przygotował: Jacek Sroka 2 Przypomnienie Abstrakcja strumienia hierarchia binarna InputStream/OutputStream hierarchia znakowa Reader/Writer
Bardziej szczegółowoPrzygotował: Jacek Sroka 1. Java SE. Strumienie
Przygotował: Jacek Sroka 1 Java SE Strumienie Przygotował: Jacek Sroka 2 Wielkość systemu we/wy Różne media konsola, pliki, połączenia sieciowe, łącza między procesami, itp. Różne sposoby sekwencyjnie,
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 6, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 1 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Bardziej szczegółowoJAVA. Strumienie wejścia i wyjścia. Pliki - zapis i odczyt
JAVA Pliki - zapis i odczyt Opracował: Andrzej Nowak Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Strumienie wejścia i wyjścia Strumienie wejścia
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 10: Strumienie we/wy 5/13/2013 S.Deniziak:Programowanie obiektowe 1 Zarządzanie systemem plików klasa File (pakiet java.io) np. File path=new File(. ); Metody: list(), getname(),
Bardziej szczegółowoPlatformy Programistyczne Zagadnienia sieciowe i wątki
Platformy Programistyczne Zagadnienia sieciowe i wątki Agata Migalska 27/28 maja 2014 Komunikacja sieciowa 1 Komunikacja sieciowa 2 Wiele wątków 3 Serializacja Architektura typu klient-serwer Architektura
Bardziej szczegółowoProgramowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Bardziej szczegółowoInterfejsy, klasy wewn trzne jako szczególny rodzaj obiektów
Interfejsy, klasy wewn trzne jako szczególny rodzaj obiektów Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 16.03.2017 Interfejsy raz jeszcze "Interfejsy
Bardziej szczegółowoKolekcje obiektów. Wyj tki.
Kolekcje obiektów. Wyj tki. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 30.03.2017 Kolekcje obiektów Kolekcje obiektów (Java Collections) sªu»
Bardziej szczegółowoSchemat dla UDP. = możliwe zablokowanie aplikacji KLIENT SERWER. s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...
Schemat dla UDP = możliwe zablokowanie aplikacji KLIENT s=socket(...) [bind(s,...)] sendto(s,...) recvfrom(s,...) sendto(s,...) close(s) SERWER s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...)
Bardziej szczegółowoStrumienie, pliki. Sortowanie. Wyjątki.
Strumienie, pliki. Sortowanie. Wyjątki. Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy
Bardziej szczegółowo1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski
Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski 1 Strumienie W j zyku C++ pliki obsªugiwane s za pomoc strumieni. Strumie«pozwala na sekwencyjny dost p do pliku. Elementy, które jako pierwsze
Bardziej szczegółowoWprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Bardziej szczegółowoJava a dost p do Internetu.
Java a dost p do Internetu. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 20.04.2017 Java a dost p do Internetu Java Networking - jest koncepcj
Bardziej szczegółowoJava: Graficzne interfejsy użytkownika
Java: Graficzne interfejsy użytkownika 1. Pakiet wejścia / wyjścia Część pierwsza dotyczy niektórych klas pakietu java.io. Java definiuje wejścia i wyjścia (I / O) pod względem klas znanych jako strumienie.
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 11: Serializacja obiektów 5/19/2013 S.Deniziak:Programowanie obiektowe 1 Problem składowania/przesyłania danych Strumienie Tylko typy proste Konieczność ręcznego odtwarzania
Bardziej szczegółowoPodstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Bardziej szczegółowoJava. Programowanie Obiektowe Mateusz Cicheński
Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 8 Strumienie Przygotował: Jacek Sroka 2 Przypomnienie Reagowanie na sytuacje wyjątkowe Wyjątki nadzorowane i nienadzorowane Obsługa wyjątku try
Bardziej szczegółowoWprowadzenie do Javy dla programistów C++
Wprowadzenie do Javy dla programistów C++ J. Apelski G. Chimosz D. Górczy«ska E. Luty Wydziaª Matematyki, Informatyki i Mechaniki 20 listopada 2007 Wprowadzenie Wprowadzenie Wprowadzenie Java ró»ni si
Bardziej szczegółowoProgramowanie Obiektowe Java
Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Operacje wejścia-wyjścia strumienie Pakiety IO Java dostarcza dwóch podstawowych
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoProgramowane refleksyjne i serializacja
1 Programowane refleksyjne i serializacja 1. Programowanie refleksyjne: przegląd wybranych klas z pakietu java.lang i java.lang.reflect, dynamiczne obiekty proxy. 2. Serializacja interfejs Serializable,
Bardziej szczegółowoKomunikacja z użyciem gniazd aplikacje klient-serwer
Programowanie obiektowe Komunikacja z użyciem gniazd aplikacje klient-serwer Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Architektura
Bardziej szczegółowoWykład 7 Tworzenie łącz w apletach, wątki, serializacja obiektów, gniazda
Wykład 7 Tworzenie łącz w apletach, wątki, serializacja obiektów, gniazda 1.Tworzenie łącz w apletach W pliku html zastosowano znacznik PARAM z abutami: name oraz value
Bardziej szczegółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoWykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Bardziej szczegółowoProgramowanie Obiektowe Java
Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Wykład Poniedziałek 16:15 18:00 2 h, pierwsza połowa semestru 7 wykładów :
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoProgramowanie sieciowe
Programowanie sieciowe Wykład 4: Java sieciowa mgr inŝ. Paweł Kośla mgr Marcin Raniszewski Łódź, 2009 1 Plan wykładu Przegląd java.net InetAddress URL Socket klient TCP ServerSocket serwer TCP 2 Literatura
Bardziej szczegółowoSystemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoBezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Bardziej szczegółowoGniazda komunikacji sieciowej w środowisku Java
Gniazda komunikacji sieciowej w środowisku Java Dariusz.Wawrzyniak@cs.put.poznan.pl 1 Obsługa gniazd 2 Obsługa komunikacji strumieniowej Obsługa komunikacji pakietowej Pakiet java.net Obsługa gniazd Pakiet
Bardziej szczegółowoJęzyki Programowania II Wykład 3. Java podstawy. Przypomnienie
Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania
Bardziej szczegółowoProgramowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo
Bardziej szczegółowosieć 4) Mechanizm RMI jest zazwyczaj wykorzystywany w rozwiązaniach typu klient-serwer.
RMI (Remote Method Invocation) zdalne wywołanie metod Część 1 1) RMI jest mechanizmem, który pozwala danej aplikacji: wywoływać metody obiektów zdalnych oraz uzyskać dostęp do obiektów zdalnych (np. w
Bardziej szczegółowoakademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoJava programowanie w sieci. java.net RMI
Java programowanie w sieci java.net RMI Programowanie sieciowe OSI WARSTWA APLIKACJI (7) WARSTWA PREZENTACJI(6) WARSTWA SESJI (5) WARSTWA TRANSPORTU (4) DoD Warstwa aplikacji (HTTP) Transport (gniazdka)
Bardziej szczegółowoKorzystanie z bibliotek standardowych
Korzystanie z bibliotek standardowych Java posiada bogatą bibliotekę standardowych pakietów, i tak do podstawowych naleŝą: java.lang - jest, podstawowym pakietem języka Java, domyślnie importowanym dla
Bardziej szczegółowoDawid Gierszewski Adam Hanasko
Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 1: Wprowadzenie http://eclipse.elektron.pk.edu.pl/~sdeniziak/ Hasło: java2012 języku Java 1 Literatura Bruce Eckel, Thinking in Java edycja polska, wydanie. 4, Helion
Bardziej szczegółowoWSNHiD, Programowanie 2, Lab. 3. Trwałość danych
WSNHiD, Programowanie 2, Lab. 3 Trwałość danych Wyjątki Nietypowe sytuacje, które podczas normalnego wykonywania programu nie powinny się wydarzyć obsługiwane są w języku Java za pomocą wyjątków. Przyjrzyjmy
Bardziej szczegółowoNetworking. Zaawansowane technologie Javy 2019
Networking Zaawansowane technologie Javy 2019 Model klient-serwer W modelu klient-serwer (ang. client-server) dane trzymane są na serwerze, interfejs użytkownika i logika przetwarzania danych są realizowane
Bardziej szczegółowo0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Bardziej szczegółowoMATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody
MATERIAŁY POMOCNICZE DO ĆWICZENIA 3 Klasy i obiekty; atrybuty i metody Java jest językiem obiektowym. Wartości typów innych niż proste są obiektami określonych klas. Obiekty stanowią instancje klas, których
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowoZaawansowane techniki programowania C#
Wykład 2 Piotr Błaszyński Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego 18 października 2017 służą do informowania o niepowodzeniu pewnego elementu programu, dawniej używano tzw.
Bardziej szczegółowoAplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Bardziej szczegółowoPodstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 3
z wykorzystaniem języka Java ME ćwiczenia 3 Wykorzystanie klasy List do tworzenie menu Klasa List - tworzenie list wyboru (EXCLUSIVE, MULTIPLE, IMPLICIT) Dodatkowe możliwości (dodatkowe komendy, pliki
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Bardziej szczegółowoProgramowanie w języku Java. Bazy danych SQLite w Javie
Programowanie w języku Java Bazy danych SQLite w Javie Co to jest SQLite SQLite to bezserwerowa, nie wymagająca konfiguracji relacyjna baza danych. Znajduje szerokie zastosowanie np.. w systemie android
Bardziej szczegółowo1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!
Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed
Bardziej szczegółowoMultimedia JAVA. Historia
Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania
Bardziej szczegółowoProgramowanie sieciowe
Programowanie sieciowe mgr Marcin Raniszewski mgr inŝ. Paweł Kośla Łódź, 2009 Wykład 6: Wielowątkowość, operacje na plikach, kolekcje 1 Plan wykładu Wątki (klasa Thread i interfejs Runnable) Synchronizacja
Bardziej szczegółowoRemote Method Invocation
Remote Method Invocation 1. Interfejsy w Javie. 2. Zdalne wywołanie metod (Remote Method Invocation). interfejsy w RMI, 3. Przykładowa aplikacja korzystająca z RMI, 4. Własne gniazda w RMI. 5. Dystrybucja
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoProgramy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.
Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy
Bardziej szczegółowoPraktyczne aspekty programowania w Javie wydajność programu w zakresie automatycznego zarządzania zasobami
Wydawnictwo UR 2017 ISSN 2080-9069 ISSN 2450-9221 online Edukacja Technika Informatyka nr 1/19/2017 www.eti.rzeszow.pl DOI: 10.15584/eti.2017.1.40 JERZY KRAWIEC Praktyczne aspekty programowania w Javie
Bardziej szczegółowoOprogramowanie systemów równoległych i rozproszonych Wykład 7
Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania
Bardziej szczegółowoJava. Michał Wójcik. michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl
Java Michał Wójcik michal.wojcik@eti.pg.gda.pl http://mwojcik.eti.pg.gda.pl Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska 5 kwietnia
Bardziej szczegółowoJava. Write Once, Run Anywhere
Java Write Once, Run Anywhere Java - Wstęp Java: Język programowania niezależny od platformy Składnia podobna do C++ Podobieństwo do j. Smalltalk Java - Wstęp Java interesujące cechy: Automatyczna kontrola
Bardziej szczegółowo