Systemy wejścia i wyjścia Michał Wrona. Co to jest system wejścia i wyjścia? Pobierania informacji ze źródeł danych, zdolnych przesyłać sekwencje bajtów,

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Wstęp do strumieni danych
C++ wykład 4 ( ) Przeciążanie operatorów.
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Wzorce.
Programowanie w języku Visual Basic
Prowadzący: mgr inż. Elżbieta Majka
Wprowadzenie do języka skryptowego PHP
Inżynieria oprogramowania Lecture XXX JavaTM – część IV: IO
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Tablice.
Obsługa plików csv Do odczytu z pliku csv można użyć następującego kodu: $fp = fopen ("strony.csv","r"); $num = 0; while ($data = fgetcsv ($fp, 1000, ";"))
Gniazda komunikacji sieciowej w języku Java
Programowanie w C Wykład 3
Język ANSI C Operacje we/wy
Wykład 2 struktura programu elementy języka typy zmienne
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
Czytanie, pisanie i rysowanie (czyli klasa I szkoły podstawowej)
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Obsługa systemu wejścia-wyjścia
9. KOORDYNACJA PROCESÓW WSPÓŁBIEŻNYCH PRZY UŻYCIU INTERPRETATORA
Podstawy programowania
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
PRACA DYPLOMOWA INŻYNIERSKA
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
Linux - polecenia.
W większości języków programowania biblioteki wejścia/wyjścia ukrywają szczegóły obsługi poszczególnych mediów pod abstrakcją strumienia (ang. stream).
Instrukcja USOS Rejestracja na zajęcia obieralne wersja by Marek Opacki.
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Janusz ROŻEJ GENERATORY APLIKACJI Generatory aplikacji Janusz ROŻEJ
Obsługa systemu wejścia-wyjścia
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe – zastosowanie języka Java SE
JAVA.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
C# Platforma .NET CZ.3 Kuba Ostrowski.
Podstawy informatyki 2013/2014
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
Projektowanie stron WWW
Systemy operacyjne (wiosna 2014)
Podstawy programowania II Wykład 3: Obsługa plików w stdio.h.
System plików.
Iga Lewandowska I EMII MU
Operacje na plikach i folderach
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
© Krzysztof Barteczko, PJWSTK 2012
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
1 Pliki i katalogi K. Barteczko Pojęcie pliku Plik - to ciąg bajtów zapisanych na dysku lub w innej fizycznie trwałej formie. po co są pliki.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Piotr Kawałek , Mateusz Śliwowski
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
(c) Krzysztof Barteczko 2014
Programowanie Obiektowe – Wykład 2
Wstęp do Informatyki - Wykład 14
Programowanie obiektowe – zastosowanie języka Java SE
PGO Interfejsy Michail Mokkas.
Założenia projektowe Javy
Zapis prezentacji:

Systemy wejścia i wyjścia Michał Wrona

Co to jest system wejścia i wyjścia? Pobierania informacji ze źródeł danych, zdolnych przesyłać sekwencje bajtów, oraz wysyłania informacji do każdego obiektu, który potrafi odebrać sekwencję bajtów. obsługa plików i katalogów, zapisywanie do plików, wczytywanie informacji z plików.

Strumienie Strumień wejścia – obiekt z którego możemy pobrać sekwencję znaków, opisany przez klasę abstrakcyjną InputStream. Strumień wyjścia – Obiekt do którego możemy wysyłać sekwencję bajtów opisany klasą OutputStream. Klasy Reader i Writer (2-bajtowe znaki Unicode).

Wczytywanie i zapisywanie bajtów Klasa InputStream posiada metodę abstrakcyjną: abstract int read() Metoda ta wczytuje jeden bajt i zwraca jego wartość lub -1, jeżeli natrafi na zakończenie źródła danych Analogicznie klasa OutputStream definiuje metodę: abstract void write(int b) Która wysyła jeden bajt do aktualnego wyjścia.

A dobre to?

Java.io.InputStream abstract int read() - pobiera jeden bajt i zwraca jego wartość, -1 gdy koniec strumienia. int read(byte[] b) - wczytuje dane do tablicy i zwraca liczbe wczytanych bajtów. int read(byte[] b, int start, int dlugosc) long skip(long n) – ignoruje n bajtów w strumieniu wejścia. int available () – ilość dostępnych bajtów bez możliwości blokowania. Java.io.OutputStream abstract void write(int i) – zapisuje jeden bajt. void write(byte[] b) – zapisuje wszystkie bajty w tablicy b. void write(byte[] b, int start, int dlugosc).

Zoo pełne strumieni W przeciwieństwie do języka C, który w zupełności zadowalał się jednym typem FILE, JAVA posiada całe zoo, ponad 60(!!)różnych typów strumieni.

Zoo pełne strumieni(2)

Budowa filtrów strumieni A co jeśli chcemy przeczytać np. liczby z pliku? Należy utworzyć obiekt typu FileInputStream, a następnie przekazać go konstruktorowi DataInputStream. Nadal jednak operujemy na jednobajtowych operatorach… zresztą popatrzmy:

Prawie jak zapis… To gdzie jest problem?

Zapisywanie tekstu Z pomocą przychodzą nam klasy Writer. Obiekty tej klasy drukują łańcuchy i liczby w formacie tekstowym. DataOutputStream = PrintWriter Musi ona być łączona z FileWriter, lub FileOutputStream by poznała obiekt docelowy zapisywanego tekstu. Należy również pamietać o zamknięciu i opróżnieniu strumienia wyjścia pisząc close().

Wczytywanie tekstu Myślisz że jest klasa analogiczna do DataInputStream, która pozwoli Ci czytać dane w formacie tekstowym..NIE. Ale jest i na to sposób – w klasie BufferedReader jest metoda readLine() pozwalająca pobrać linijkę tekstu wiec…

…prawie robi dużą różnicę

Zarządzanie plikami Umiemy zapisywać i odczytywać dane z plików, jednak obsługa plików to coś więcej np.: wczytanie listy plików w katalogu, sprawdzenie nazwy katalogu, rozmiaru pliku, sprawdzenie daty ostatniej modyfikacji, sprawdzenie czy plik jest do odczytu, czy do zapisu, tworzenie nowych katalogów, usuwanie plików i katalogów. Wszystko to pozwala nam robić klasa File.

Lista plików

Lepsza lista plików

Java.io.File boolean delete() – próbuje skasować plik, jeżeli się uda to zwraca true. void deleteOnExit() – żąda, aby plik został skasowany po wyłączeniu wirtualnej maszyny. boolean exists() – zwraca true, jeżeli dany plik lub katalog istnieje. boolean isHidden() zwraca true, jeżeli dany plik jest ukryty. long lastModified() data ostatniej modyfikacji pliku lub 0 jak nie istnieje. Należy użyć Date(long), by uzyskać normalny czas. boolean createNewFile() boolean mkdir() boolean renameTo(File cel) ; cel – obiekt File określający nową nazwę pliku. boolean setReadOnly() zmienia tryb na tylko do odczytu.

Bonus : czyli wyrażenia regularne Wyrażenie regularne ma zazwyczaj następującą postać: Matcher liczba = Pattern.compile (Kod Regex ).matcher(String); while (liczba.find()) { System.out.println(liczba.group()); } Najważniejsze znaczki(reszta w pomocy programu): Bokreślony znak np. Literka B, \t \nznak tabulacji, nowej linii, [abc]dowolny znak z nawiasu, [^abc]dowolny znak ale nie ten z nawiasu (negacja), \sznak końca strony, spacja, nowa linia, tabulacja, \Sdowolny znak, z wyjątkiem białych znaków, \d cyfra, \Ddowolny znak, ale nie cyfra, \wznak tworzący słowa, \Wznaki bez początku słowa,

Szukaj, a znajdziesz

Dziękuję za uwagę