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

Podobne dokumenty