java 2
Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff
Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff
Kartei Details
Karten | 500 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 03.03.2020 / 22.06.2022 |
Weblink |
https://card2brain.ch/box/20200303_java_2
|
Einbinden |
<iframe src="https://card2brain.ch/box/20200303_java_2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was ist der Unterschied zwichen Streams und Reader/Writern?
- Streams: inputing/outputing all types of binary/byte data
- Reader/Writer: inputing/outputing only charakcter/string-data
Sind Reader/Writer streams?
Ja, auch wenn es nicht im namen steckt
Es gibt eine PrintWirter klasse, gibt es auch eine PrintReader klasse=
Nein
Es gibt eine PrintStream-klasse, gibt es auch eine InputStream-Klasse?
Nein
Was für Streams sollte man verwenden wenn man files lesen will?
Buffered-streams
Was sind die parents von allen stream-classen?
InputStream, OutputStream, Reader, Writer
Compiled das? :
new BufferedInputStream(new FileReader("zoo-data.txt"));
nein, mixes reader/writer mit inputStream/outputStream
Compiled das=
new BufferedWriter(new FileOutputStream("zoo-data.txt"));
Nein, mixes Reader/Writer mit InputStream/OutputStreamj
Compiled das?
new ObjectInputStream(new FileOutputStream("zoo-data.txt"));
Nein, mixes OutputStream mit InputStream
Compiled das?
new BufferedInputStream(new InputStream());
Nein,InputStream ist eine abstrakte KLasse -> nicht instanziierbar
Für was werden Klassen verwendet die InputStream/OuputStream im Namen haben?
writing binary data/reading binary data
Für was werden Klassen verwendet die Reader/Writer im Namen haben?
Reading/Writing character/string data
Haben alle Iputlassen auch eine korrespondierende outputklasse?
Fast alle
Was macht ein BufferedStream/reader/writer?
Liest/Schreibt daten in groups of bytes(characters -> bessere perfomance
Wie kann man einen Stream schließen?
mit der close-methode im finally block oder mit der try-with-resource- syntax
Wie kann man sicherstellen dass Daten zu einem bestimmten Zeitpunkt gespeichert werden (also nicht verloren gehen wenn die Applikation abstürzt)
In dem man flush() aufruft.
Wie kann man eine Position in File-streams markieren um später dorthin zurück zu kommen?
Mit mark(int) und reset().
Der int wert in mark legt ein limit fest, wieviel positionen hier gespeichert werden sollen.
Wie kann man Felder/Werte in Filestreams skippen? Was sind die (rückgabe-) parameter?
Mit long skip(long)
Gibt die Anzahl bytes zurück die geskipped wurden (also auch null oder negative werte wenn das ende eines streams erreicht wurde)
Für was werden FileInputStream und FileOutputStream verwendet?
Um Bytes von einer File zu lasen oder in eine FIle zu schreiben
Wie werden Daten in einem FileInputStream normalerweise accessed=
sukkessive Calls auf die read() Methode bis -1 returned wird
Wie kann man mit einem FileInputStream Daten in ein byteArray lesen?
int read(byte[] arr]
int read(byte[] b, int off, int len)
Wie kann man mit FileOutputStream ein byte schreiben? wie ein bytearray?
void write(int b)
void write(byte[] b)
void write(byte[] b, int off, int len)
Was machen BufferedInputStream und BufferedOutputStream?
Man kann mehrere Bytes zu einer Zeit lesen/schreiben.
Performance-improvements ggnü. InputStream/OutputStream
Für was braucht man die Anzahl Bytes die von read bei BufferedInputStream zurückkommen?
Wenn sie 0 ist weiß man, dass man das ende erreicht hat. Außerdem teilt uns die Zahl mit wieviele Bytes aus dem Stream tatsächlich im TargetArray liegen. Wenn es bspw. noch 30 bytes sind die in einem 1000 byte großen Array landen weiß man, dass nur 30 bytes passen, die restlichen schon mal gelesen wurden und discarded werden können.
Für was gibt es FileReader und FileWriter?
Um Chars zu lesen/schreiben
Welches interfavce muss inplementiert werden wenn man ein Objekt serialisieren möcnhte?
java.io.Serializable
Was muss man mit nested objects bei der serialisierung beachten?
Alle nested objects müssen serialisierbar sein (viele built-in java klassen sind das bereits)
Was für eine exception wird geworfen wenn ein Objekt nicht serialisiert werden kann?
NotSerializableException
Wie kann man ein nested objekt markieren dass es in der serialisierung ignoriert wird?
mit transient
Werden statische class members im serialisierungs/deserialisierungsprozess mit berücktsichtigt?
Nein
Wie kann man statische class members im serialisierugs/deserialisierungsprozess mit einbeziehen?
In dem man die informationen in ein instanzobjekt kopiert die dann separat serialisiert werden
Wie heißen die Streamklassen die für die Serialisierung etwncikelt wurden?
ObjectInputStream und ObjectOutputStream
Wie serialisiert man ein Object mit ObjectOutputStream? Was pasiert im Fehlerfall?
mit writeObject(Object)
Im Fehlerfall: NotSerializableException
Wie deserialisiert man ein serialisiertes Object mit ObjectInputStream?
readObject()
Auf was muss man im deserialisierungsprozess achten?
Konstruktor und defaultwerte werden ignoriert
Auf/mit was arbeitet PrintStream?
Auf Outputstream, schreibt daten als bytes
Auf/mit was arbeitet PrintWriter?
auf Writer-instanzen, schreibt daten als Characters
Was sind System.out und System.err eigentlich?
PrintStream-Objecte
Was ist der emfpholene Weg um mit dem user auf de rKonsole zu interagieren?
Mit der Console-Klasse
Wie kann man Usereingaben lesen ohne die Console-klasse?
Mit system.in:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
reader.readLine()