Strumienie, pliki. Sortowanie. Wyjątki.



Podobne dokumenty
Strumienie, pliki. Sortowanie. Wyjątki.

Podstawy i języki programowania

Programowanie 3 - Funkcje, pliki i klasy

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

Programowanie w języku Java

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

Wykład 4. Tablice. Pliki

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

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

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

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

Podstawy i języki programowania

Strumienie i serializacja

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

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

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

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

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

I znowu można jak w C, za pomocą starych struktur i metod:

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Języki programowania imperatywnego

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

program TRX

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

Techniki multimedialne

Podstawy i języki programowania

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

1 Moduł Modbus ASCII/RTU 3

Programowanie w językach wysokiego poziomu

C++. Æwiczenia zaawansowane

Biblioteka standardowa - operacje wejścia/wyjścia

Scenariusz lekcji. wymienić najpopularniejsze formaty plików; omówić sposób kodowania znaków drukarskich;

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

akademia androida Składowanie danych część VI

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

Bezpieczne uruchamianie apletów wg

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

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

Wiadomości i umiejętności

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

Zapis liczb binarnych ze znakiem

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Projekty zaliczeniowe Podstawy Programowania 2012/2013

Spis treści. 1 Moduł Modbus TCP 4

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Zaawansowane techniki programowania C#

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

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Typy wyliczeniowe Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Opis programu Konwersja MPF Spis treści

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Programowanie w języku Java

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

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

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

dr Krzysztof Podlaski

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Zajęcia 6 wskaźniki i tablice dynamiczne

n, m : int; S, a, b : double. Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 1.03 Dla obliczenia Sij zdefiniować funkcję.

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

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

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

Excel - podstawa teoretyczna do ćwiczeń. 26 lutego 2013

Ćwiczenie: JavaScript Cookies (3x45 minut)

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Pliki. Operacje na plikach w Pascalu

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

Zajęcia 6 pliki tekstowe

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

Wykład PASCAL - Pliki tekstowe

LISTA 5. C++ PETLE for, while, do while

Pracownia Komputerowa wykład VI

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

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

Funkcje. Wprowadzenie. Mirosław Ochodek

Ćwiczenie 1 - Arkusze kalkulacyjne

Rozwiązanie. Uruchom program Access 2007.

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

Ćwiczenie 1. Wprowadzenie do programu Octave

C++ - [3-5] Pliki i strumienie w C++

I. Interfejs użytkownika.

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

1 Powtórzenie wiadomości

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Pracownia Komputerowa wyk ad VI

Laboratorium nr 1. i 2.

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Współpraca FDS z arkuszem kalkulacyjnym

Transkrypt:

Strumienie, pliki. Sortowanie. Wyjątki.

Operacje I/O w Javie Serializacja Zapisuje całą klasę Plik binarny Delimiter nieokreślony Nie da się podglądać Pliki tekstowe Zapisuje wybrane informacje Plik tekstowy Delimiter ustawiamy sami Można podejrzeć

Porównanie typów plików Serializacja Plain tekst

Ogólna konwencja pracy z plikami 1. Podaj ścieżkę do pliku w odpowiednim miejscu. 2. Zdefiniuj jaki plik zapisujesz/odczytujesz 3. Dokonaj operacji zapisu/odczytu 4. Zamknij plik.

W Javie wszystko jest obiektem FileReader Używają systemowego FileWriter kodowania. BufferedReader Szybsze, używają BufferedWriter buforowania. FileInputStream InputStreamReader FileOutputStream OutputStreamWriter File PrintWriter Można ustawić swoje własne kodowanie, funkcje te są łańcuchowane.

Co to jest łaocuchowanie BufferedReader in = new BufferedReader( new InputStreamReader( plik.txt )); plik.txt jest odczytywany przez InputStreamReader; klasa ta odczytuje surowe dane (bajtowo); przekazuje bajty do kolejnej klasy BufferedReader, która konwertuje bajty na znaki, a do tego buforuje wejście

Try & catch Ryzykowne operacje zawiera się w blokach try Gdy coś złego się stanie program wygeneruje wyjątek Ów wyjątek jest łapany (stąd catch ) i może zostać obsłużony Dzięki temu program rzadziej się wysypuje Blok finally wykona się zawsze, niezależnie od błędów Literatura: http://www.javaworld.com/jw-07-1998/jw- 07-exceptions.html

No to wreszcie gotowy przykład

Ćwiczenia 1. Napisz funkcję, która przyjmuje w parametrze ścieżkę do pliku, a następnie wyświetla na ekran co drugą linijkę. 2. Napisz funkcję, która odczytuje zawartość pliku, a następnie wypisuje plik w odwrotnej kolejności. 3. Ściągnij plik http://tjach.pl/downloads/parser.csv i napisz program, który wylicza średnią z podanych tam liczb. Podpowiedź: google: String split java oraz klasa Integer

Zapis pliku

Kilka ważnych rzeczy 1. Pamiętaj, że buforowane wyjście należy czyścić, a pliki zamykać! 2. Klasa PrintWriter, jak również wszystkie inne poznane, mają wiele użytecznych metod, warto je poznać. 3. Za pomocą klasy File możesz zmieniać strukturę katalogów: tworzyć, kasować, odczytywać. 4. FileReader może bezpośrednio odczytywać plik, ale robi to bardzo wolno. 5. Parsowanie pliku tekstowego jest zadaniem wymagającym wiedzy o tym jak on jest zbudowany.

Ćwiczenia 1. Wykorzystaj funkcje do generowanie dowolnej tablicy z poprzednich zajęć. Zapisz trzy dowolne tablice, co najmniej 5x5 do jednego pliku. 2. Zapisz tabliczkę mnożenia do pliku. 3. Za pomocą klasy File stwórz nowy katalog i skopiuj stworzony przedtem plik tekstowy do nowego katalogu. 4. Wykorzystaj plik parser.txt. Odczytaj wszystkie liczby z pliku, a następnie zapisz je do nowego pliku w kolejności rosnącej.

Ćwiczenia 1. W akwarium znajdują się rozwielitki (małe skorupiaki, zwane także dafniami). W chwili t = 0 ilość rozwielitek wynosiła 1000. Po każdej jednostce czasu ilość rozwielitek podwaja się. Ponieważ jednak akwarium ma ograniczone rozmiary, więc zbyt wielka ilość rozwielitek powoduje ich wymieranie. Przyjmiemy, że jeśli ilość żyjątek przekroczy 50 tysięcy, wtedy w ciągu najbliższej jednostki czasu rozwielitki nie rozmnażają się, lecz ginie 99% ich populacji. 1. Oblicz, ile będzie rozwielitek w akwarium po upływie 100 jednostek czasu. 2. Znajdź największą i najmniejszą ilość rozwielitek, jaka znajdowała się w akwarium w okresie rozważanym w poprzednim podpunkcie. 3. Utwórz tabelkę obrazującą zależność liczby rozwielitek od czasu w okresie od 0 do 25 jednostek. Tabelkę umieść w pliku tekstowym.

Ćwiczenia 1. Oblicz liczbę znaków zawartych w pliku tekstowym. 2. Napisać program, który pozwoli obliczyć liczbę wierszy tekstu. Przeglądane powinny być wszystkie znaki tekstu, a obliczanie liczby wierszy powinno odbywać się dopiero w momencie zakończenia przeglądania danego wiersza. 3. Napisać program obliczający liczbę słów w pliku tekstowym zakładając, że poszczególne słowa są oddzielone spacjami, tabulatorami lub znakami końca linii. 4. Napisać program porównujący zawartość 2 plików tekstowych. Algorytm powinien polegać na sprawdzeniu równości znaków do końca krótszego pliku, a następnie w przypadku pozytywnego wyniku na sprawdzeniu długości plików.

Program na zaliczenie Konwerter liczb Zamiana dziesiętnego na dwójkowy. Zamiana dziesiętnego na dowolny o niższej podstawie. Zamiana dwójkowego na dziesiętny. Zamiana dwójkowego na dowolny. Zamiana dowolnego na dziesiętny. Wymagania: 1. Każde z zadań powinno być oddzielną funkcją. 2. Program musi umożliwiać pracę (odczyt/zapis) na plikach tekstowych oraz serializację obiektów. 3. Każda konwersja będzie nową instancją klasy. 4. Program powinien umożliwiać również wczytywanie danych z klawiatury. 5. Program ma automatycznie przy włączeniu wczytywać ustawiony wcześniej plik z konwersjami (każda konwersja będzie oznaczana jedną linijką: 10 -> 2 \tab 5, co należy rozumieć konwersja liczby 5 z formatu dziesiętnego na dwójkowy). 6. Wszystkie pliki z danymi mają mieć prefiks WEJ_, wszystkie wyjściowe WYJ_.

Program na zaliczenie 2 Wymagania c.d. 1. Program ma działać dopóki użytkownik tego chce, nie zamykać się po każdej konwersji. 2. Dodatkowo program ma umożliwiać przeprowadzanie prostych operacji liczbowych na liczbach o dowolnym systemie liczenia. 3. Konwersja między plikami tekstowymi a serializowanymi obiektami. 4. Obliczanie liczby wykonywanych konwersji w przypadku odczytu z pliku. 5. Zamiana wynikowego systemu liczenia dla wszystkich elementów w pliku. 6. Sortowanie pliku wyjściowego: rosnąco i malejąco. 7. Informacja o autorze programu 8. Oceniana będzie zarówno skuteczność działania, struktura i przejrzystość kodu oraz komentarze. 9. Zamiana liczb na ich odpowiedniki słowne (1 = Jeden, 215 = Dwieście piętnaście ). 10. Zamiana liczb na liczby rzymskie