Laboratorium Java – Strumienie oraz system wejścia/wyjścia [2h
Transkrypt
Laboratorium Java – Strumienie oraz system wejścia/wyjścia [2h
Laboratorium Java – Strumienie oraz system wejścia/wyjścia [2h] Pliki i katalogi: 1. Klasa File java.lang.Object \--java.io.File File path = new File("."); //wskazanie na aktualny katalog 2. Klasa RandomAccessFile java.lang.Object \--java.io.RandomAccessFile Strumienie: 1. Klasa InputStream java.lang.Object \--java.io.InputStream – – podstawowy strumień wejściowy rozszerzenia: • ByteArrayInputStream(byte[]) • FileInputStream(File) • ObjectInputStream(InputStream) • StringBufferInputStream(String) 2. Klasa OutputStream java.lang.Object \--java.io.OutputStream – – podstawowy strumień wyjściowy rozszerzenia: • ByteArrayOutputStream(int) • FileOutputStream(String/File) • ObjectOutputStream(OutputStream) 3. Klasa FilterInputStream java.lang.Object \--java.io.InputStream \--java.io.FilterInputStream – – filtrowany strumień wejściowy rozszerzenia: • DataInputStream(InputStream) • BufferedInputStream(InputStream) • LineNumberInputStream(InputStream) - typy proste - bajty - tekst sformatowany 4. Klasa FilterOutputStream java.lang.Object \--java.io.OutputStream \--java.io.FilterOutputStream – – filtrowany strumień wyjściowy rozszerzenia: • DataOutputStream(OutputStream) • PrintStream(OutputStream) • BufferedOutputStream(OutputStream) - typy proste - dowolne dane - bajty Laboratorium Java 10 (Opracowanie: Konrad Kurczyna) 1/2 Czytelnik i Pisarz: 1. Klasa Reader java.lang.Object \--java.io.Reader – rozszerzenia: BufferedReader, FilterReader, InputStreamReader, StringReader 2. Klasa Writer java.lang.Object \--java.io.Writer – rozszerzenia: BufferedWriter, FilterWriter, OutputStreamWriter, PrintWriter, StringWriter 3. Klasa InputStreamReader java.lang.Object \--java.io.Reader \--java.io.InputStreamReader – rozszerzenia: FileReader(String/File) 4. Klasa OutputStreamWriter java.lang.Object \--java.io.Writer \--java.io.OutputStreamWriter – rozszerzenia: FileWriter(String/File) Klasa System (Standardowe wejście/wyjście): java.lang.Object \--java.lang.System .setIn(InputStream) .setOut(PrintStream) .setErr(PrintStream) - ustawia strumień in - ustawia strumień out - ustawia strumień err Serializacja: 1. Interfejs Serializable java.io.Serializable .writeObject() .readObject() - wywoływane przez ObjectOutputStream(OutputStream) - wywoływane przez ObjectInputStream(InputStream) ✔ pola transient oraz static nie są serializowane 2. Interfejs Externalizable java.io.Serializable \--java.io.Externalizable .writeExternal() .readExternal() - wywoływane przez ObjectOutputStream(OutputStream) - wywoływane przez ObjectInputStream(InputStream) Zadanie: – wykonać aplikację wykonującą zapis i odczyt danych dowolnego typu (typy proste - liczby losowe typu double, łańcuchy znaków - wczytywanie tekstu z klawiatury) – wykonać aplikację wykonującą zapis i odczyt obiektów zawierających pola nieserializowane – zastosować buforowanie Laboratorium Java 10 (Opracowanie: Konrad Kurczyna) 2/2