Input/Output OutputStream im Paramaeter

Diskutiere OutputStream im Paramaeter im Java Basics - Anfänger-Themen Bereich.
B

busgi

Hallo Zusammen,

ich habe heute von meinem Professor eine neue Aufgabe bekommen, die mich etwas verwirrt hat.
Momentan besprechen wir Streams.

Und zwar ist die Aufgabe die Methode
void ausgeben(OutputStream stream) zu benutzen und die Ausgabe in den übergegebenen Stream zu schreiben. Jedoch ist es so, dass wir die normale Implementierung von Streams kennengelernt haben. Sprich,

Code:
static void kopiere(File von, File nach) throws IOException {
            FileInputStream fis = new FileInputStream(von);
            BufferedInputStream bis = new BufferedInputStream(fis);
            FileOutputStream fos = new FileOutputStream(nach);
            BufferedOutputStream bos = new BufferedOutputStream(fos);

            int c;
            while ((c = bis.read()) != -1) {
                bos.write(c);
            }
        } usw.


Ich weiß momentan nicht wie ich vorgehen soll. Die Methode ausgeben soll nämlich alter und ort in eine datei drucken. Das Beispiel oben verstehe ich. Jedoch kann ich das Output stream als Parameter nicht nachvollziehen.

Hat jemand eine Idee wie ich vorgehen kann?
 
mihe7

mihe7

OutputStream ist eine Klasse, die es ermöglicht, Bytes an ein "beliebiges" Ziel zu senden. Dafür bieten die Objekte dieser Klasse die write()-Methoden an. Wenn Du also ein OutputStream-Objekt erhältst, kannst Du einfach dessen write-Methode(n) verwenden. Außerdem kannst Du das Objekt auch z. B. zur Erzeugung anderer Streams verwenden.

Der Code oben könnte auch so geschrieben werden:
Java:
    static void kopiere(InputStream von, OutputStream nach) throws IOException {
            int c;
            while ((c = von.read()) != -1) {
                nach.write(c);
            }
        }
Wenn man nicht direkt mit Bytes arbeiten will, kann man z. B. auf Basis des gegebenen Streams einen PrintStream erzeugen:
Java:
    static void schreibe(OutputStream nach) throws IOException {
        PrintStream ps = new PrintStream(nach);
        ps.println("Test");
    }
System.out ist übrigens ein PrintStream-Objekt. Das ps lässt sich also genauso verwenden, wie System.out.
 
B

busgi

OutputStream ist eine Klasse, die es ermöglicht, Bytes an ein "beliebiges" Ziel zu senden. Dafür bieten die Objekte dieser Klasse die write()-Methoden an. Wenn Du also ein OutputStream-Objekt erhältst, kannst Du einfach dessen write-Methode(n) verwenden. Außerdem kannst Du das Objekt auch z. B. zur Erzeugung anderer Streams verwenden.

Der Code oben könnte auch so geschrieben werden:
Java:
    static void kopiere(InputStream von, OutputStream nach) throws IOException {
            int c;
            while ((c = von.read()) != -1) {
                nach.write(c);
            }
        }
Wenn man nicht direkt mit Bytes arbeiten will, kann man z. B. auf Basis des gegebenen Streams einen PrintStream erzeugen:
Java:
    static void schreibe(OutputStream nach) throws IOException {
        PrintStream ps = new PrintStream(nach);
        ps.println("Test");
    }
System.out ist übrigens ein PrintStream-Objekt. Das ps lässt sich also genauso verwenden, wie System.out.

Vielen Dank für den Denkanstoß´. Habe es mit dem zweiten Beispiel hinbekommen :)
 
Thema: 

OutputStream im Paramaeter

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben