Første
Java Stream IO serie, Planche nr. 15
Kursus Indhold

Udskrift af : Java Stream IO

Planche 1 : Java Stream IO

En hurtig introduktion til Java Stream io.

Det er nødvendig for netværksprogrammering

Og generelt..

Planche 2 : En datastrøm?

En datastrøm er en forbindelse mellem en kilde og en aftager, hvorigennem der flyder data.

En datastrøm flyder fra kilde til modtager.

Planche 3 : Filtre

Flere datastrømme kan kobles sammen ved hjælp af filter-objekter.

Et filter er en klasse, der konverterer en datastrøm med et format til en datastrøm med et andet format.

Filtre svarer til pipes i UNIX og DOS

Planche 4 : Grundklasser

To grundlæggende, abstrakte klasser er defineret:

Disse to klasser - og deres myriader af afledte - er importeret fra java.io.*; To andre, grundlæggende og abstrakte klasser er

De findes i samme bibliotek - og har masser af afledte.

Planche 5 : Forskelle

Planche 6 : IO-undtagelse

Planche 7 : Vigtige Input-metoder

Eksempel:
    if (s.read(bbuffer) != bbuf.length) ;
Læser tegn fra strømmen s ind i byte array bbuffer. Metoden returner antallet af bytes, der er overført, og sammenligner det med max-længden af bufferen. Hvis strømmen er nået til EOF, returneres -1 ved alle efterfølgende kald. Det er en forældet (C/C++ lignende metode).

Planche 8 : Andre input-metoder

Planche 9 : Almindelige klasser

Eksempel

InputStream s = new BufferedInputStream(new FileInputStream("Filnavn.txt")); Reader s = new BufferedReader(new FileReader("Filnavn.txt"));

Planche 10 : Avancerede klasser

Definerer (via interface DataInput) en række direkte metoder

f.eks.

osv.

Der er en for hver primitiv datatype

DataInputStream opretter undtagelsen EOFException.

ObjectInputStream....

Planche 11 : Vigtige output-metoder

Planche 12 : Vigtige klasser

Analog til input:

Planche 13 : Opgave 6


DataInput    aDI = new DataInputStream(new FileInputStream ("kilde"));
DataOutput   aDO = new DataOutputStream(new FileOutputStream ("dest"));
String line ;

while ((line = aDI.readLine()) != null) {
	StringBuffer modifiedLine = new StringBuffer (line);
        // ...
        // Her indsættes kode, som tilføjer filnavn og linienr.
        //
	aDO.writeBytes(modifiedLine.toString());
}
aDI.close() ;
aDO.close() ;

Prøve at gøre denne kode færdig (opgave 6), herunder ret fejl og fjern warnings (undtagen deprecated), fang exceptions og behandl dem pænt. Det kræver en del omskrivning...

Planche 14 : Specialklasser

PrintStream og PrintReader! eller og Standard IO er klassevariable (ikke objekter): System.out, System.err og System.in

Planche 15 : Java IO


© 1998 BLA*net - Leif E. Andersen, leander@blanet.dk