• Nie Znaleziono Wyników

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk5_2.pdf

N/A
N/A
Protected

Academic year: 2021

Share "http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk5_2.pdf "

Copied!
18
0
0

Pełen tekst

(1)

Języki i metody programowania Java Lab5 – pliki

https://docs.oracle.com/javase/tutorial/

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk5_2.pdf

Zofia Kruczkiewicz

1

(2)

1. Należy dokonać analizy kodu programu Operacje_we_wy_Scaner

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Operacje_we_wy_Scaner.rar

2

(3)

1. Należy dokonać analizy kodu programu Operacje_we_wy_Scaner (cd)

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Operacje_we_wy_Scaner.rar

3

(4)

1. Należy dokonać analizy kodu programu Operacje_we_wy_Scaner (cd)

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Operacje_we_wy_Scaner.rar

4

(5)

1. Należy dokonać analizy kodu programu Operacje_we_wy_Scaner (cd)

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Operacje_we_wy_Scaner.rar

5

(6)

2. Należy dokonać analizy kodu programu Pliki_danych

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

6

(7)

2. Należy dokonać analizy kodu programu Pliki_danych (cd)

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

7

(8)

2. Należy dokonać analizy kodu programu Pliki_danych (cd) – opcja 6 (klasa PlikiStringB) http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

8

(9)

2. Należy dokonać analizy kodu programu Pliki_danych (cd) – opcja 8(klasa PlikiSerializowane) http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

9

(10)

2. Należy dokonać analizy kodu programu Pliki_danych (cd) – opcja 8(klasa PlikiSerializowane) http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

10

Sat Dec 17 17:10:26 CET 2016 Podaj wiadomosc: w1

Sat Dec 17 17:10:26 CET 2016 w1

Thu Jan 01 01:00:00 CET 1970 w1

Sat Dec 17 17:10:26 CET 2016 w1

Sat Dec 17 17:10:26 CET 2016 w1

(11)

3. Wykonanie pliku tekstowego (typu Character Stream)

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych Wykorzystanie kodu klasy PlikiStringB

11

1. Należy w programie wykonanym w lab4, jako rozwinięcie programu Rys. 6.3 dodać dwa przyciski JButton: jeden do zapisu danych o figurach, drugi do odczytu z pliku danych o figurach i wydruk na ekranie.

1.1. Należy wykonać kopię programu Rys.6.3 (lub jego rozwinięcia)

1.2. Należy wykonać metody toString() w klasach z rodziny Punkt (np. przez wygenerowanie za pomocą opcji Insert Code…)

1.3. Należy dodać dwa przyciski typu JButton

(12)

3. Wykonanie pliku tekstowego (typu Character Stream) cd

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

12

1.4. Należy rozwinąć metodę obsługi zdarzeń actionPerformed(ActionEvent evt) w klasie Obraz6_3 .

public void actionPerformed(ActionEvent evt) { Object zrodlo = evt.getSource();

if (zrodlo == punkt) {

rysunek.Dodaj_punkt();

}

else if (zrodlo == kwadrat) { rysunek.Dodaj_kwadrat();

}

else if (zrodlo == zapis) { rysunek.zapis_do_pliku();

}

else if (zrodlo == odczyt) { rysunek.Odczytajplik();

}

rysunek.requestFocus();

//przywrocenie zdolnosci do obslugi zadarzen pd klawiatury repaint();

}

(13)

3. Wykonanie pliku tekstowego (typu Character Stream) cd

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych Wykorzystanie kodu klasy PlikiStringB

13

1.5. Należy wykonać dwie nowe metody w klasie Figury:

public void zapis_do_pliku() { try {

FileWriter plik = new FileWriter("Figury_text.txt");

BufferedWriter bufor1 = new BufferedWriter(plik);

/* zapis w pętli łańcucha znaków zwracanego z metody toString() wywołanej od każdego elementu z tablicy figury*/

}

public void Odczytajplik() { String dane;

try {

FileReader plik = new FileReader("Figury_text.txt");

BufferedReader bufor1 = new BufferedReader(plik);

/* odczyt zawartości pliku tekstowego na ekran */

}

(14)

3. Wykonanie pliku tekstowego (typu Character Stream) cd

http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

14

1.6. Przykład wyniku tworzenia i wyświetlania zawartości pliku z informacją o figurach

Punkt{x=44, y=44}

i Kwadrat{dlugosc=20}

Punkt{x=88, y=88}

i Kwadrat{dlugosc=46}

Punkt{x=66, y=66}

Punkt{x=88, y=88}

(15)

4. Wykonanie pliku serializowanych obiektów (typu Object Stream) http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

Wykorzystanie kodu klasy PlikiSerializowane

1. Należy w programie wykonanym w lab4, jako rozwinięcie programu Rys. 6.4 dodać dwie pozycje JMenuItem do JMenu("Figury"): jeden do zapisu liczby obiektów ile w tablicy figury oraz tablicy figury z obiektami z rodziny Punkt (atrybuty klasy Figury), drugi do odczytu z pliku liczby obiektów ile oraz tablicy figury z obiektami z rodziny Punkt. Te dane są

wykorzystane do aktualizacji atrybutów ile i figury klasy Figury.

1.1. Należy wykonać kopię programu Rys.6.4 (lub jego rozwinięcia)

1.2. Należy dodać dwie pozycje typu JMenuItem do JMenu ("Figury") w klasie Obraz6_4.

15

(16)

4. Wykonanie pliku serializowanych obiektów (typu Object Stream) cd http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

Wykorzystanie kodu klasy PlikiSerializowane

1.3. Należy rozwinąć metodę obsługi zdarzeń actionPerformed(ActionEvent evt) w klasie Obraz6_4.

public void actionPerformed(ActionEvent evt) {

JMenuItem zrodlo = (JMenuItem) evt.getSource();

if (zrodlo == items[0]) { rysunek.Dodaj_punkt();

} else if (zrodlo == items[1]) { rysunek.Dodaj_kwadrat();

}

else if (zrodlo == items[2]) { rysunek.Zapis_do_pliku();

}

else if (zrodlo == items[3]) { rysunek.Odczytajplik();

}

rysunek.requestFocus(); //przywrocenie zdolnosci do obslugi zdarzen od klawiatury repaint();

} 16

(17)

4. Wykonanie pliku serializowanych obiektów (typu Object Stream) cd http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

Wykorzystanie kodu klasy PlikiSerializowane

17

1.4. Należy wykonać dwie nowe metody w klasie Figury:

public void Zapis_do_pliku() { try {

FileOutputStream plikobiektow = new FileOutputStream("Wiadomosc.obj");

ObjectOutputStream strumienobiektow = new ObjectOutputStream(plikobiektow);

strumienobiektow.write(ile);

/* Zapis ile , a potem tablicy obiektów figury*/

}

public void Odczytajplik() { try {

FileInputStream plikobiektow = new FileInputStream("Wiadomosc.obj");

ObjectInputStream strumienobiektow = new ObjectInputStream(plikobiektow);

/* Odczyt liczby figur, a potem tablicy figury. To pozwala odtworzyć stan programu przed zapisem figur do pliku.*/

}

(18)

4. Wykonanie pliku serializowanych obiektów (typu Object Stream) cd http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/Pliki_danych

Wykorzystanie kodu klasy PlikiSerializowane

18

Zapis obiektów do pliku serializowanego

Dodanie nowej fury po zapisie obiektów do pliku serializowanego

Odczyt obiektów z pliku serializowanego i

przywrócenie stanu

przed zapisem obiektów.

Cytaty

Powiązane dokumenty

Oblicz długość trzeciego boku trójkąta równoramiennego (podstawy) oznaczonego literą x, jeżeli obwód tego trójkąta wynosi 20 cm, a długość ramienia 8 cm.. Narysuj

rozpoznaje i nazywa kolory; tworzy figury geometryczne za pomocą swojego ciała i geoplanu; korzysta z urządzeń cyfrowych odpowiedzialnie.. Postawy: dziecko jest

• zdefiniować klasę abstrakcyjną MyDrawableShape implementującą IMyDrawable- Shape, przechowującą kolor figury, informację czy wypełniać figurę, oraz kolor wypełnienia.

Ocena pracy doktorskiej mgr Pauliny Wojtowicz-Maryjki Figury wznioslosci w twdrczofci Stefana Chwina napisanej pod kierunkiem dr

Należy dokonać zmiany kodu programu typu kalkulator (zad3 z lab1 ) uzupełnioną o operacje mnożenia i odejmowania na postać obiektową.. Należy zdefiniować

Zadanie 20 Długości boków prostokąta ABCD są równe 3 cm i 5 cm, a obwód prostokąta EFGH podobnego do prostokąta ABCD jest równy 64 cm.. Oblicz wymiary prostokąta EFGH

W graniastosłupach zaznacz na zielo- no jedną z krawędzi, które są wysokościami bryły.

• rozwiązad nietypowe zadanie tekstowe nawiązujące do elementów budowy danej bryły 10/217.. ZADANIE DOMOWE