Input/Output OutputStream im Paramaeter

busgi

Aktives Mitglied
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

Top Contributor
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.
 

busgi

Aktives Mitglied
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 :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
berserkerdq2 inputstream und bufferedwirter /outputstream und bufferedwriter Java Basics - Anfänger-Themen 9
J Nachricht an OutputStream Java Basics - Anfänger-Themen 2
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
B InputStream / OutputStream / PipedOutputStream und managedExecutorService Java Basics - Anfänger-Themen 3
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
B OutputStream in FileInputStream? Java Basics - Anfänger-Themen 9
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
B Konvertieren: Outputstream zu Inputstream Java Basics - Anfänger-Themen 13
M ArrayList durch OutputStream in Datei Java Basics - Anfänger-Themen 9
S Objekte mit Outputstream in Safefile Java Basics - Anfänger-Themen 4
B Input/Output Socket I/O - outputStream.write(-1) Java Basics - Anfänger-Themen 2
B Socket OutputStream Java Basics - Anfänger-Themen 17
B Input/Output InputStream (JSch) in OutputStream (Blob) überführen Java Basics - Anfänger-Themen 8
B [Erledigt] Fehlverhalten mit File, FileInput/OutputStream und FileChannel Java Basics - Anfänger-Themen 4
Forlan OutputStream Initialisieren Java Basics - Anfänger-Themen 4
F DataIn/Outputstream Java Basics - Anfänger-Themen 4
lars-sh HttpURLConnection und OutputStream Java Basics - Anfänger-Themen 4
A String in OutputStream schreiben Java Basics - Anfänger-Themen 5
D An Datei "anhängen" mit OutputStream Java Basics - Anfänger-Themen 9
S Outputstream & String? Java Basics - Anfänger-Themen 4
reibi OutputStream nach ByteOutputStream konvertieren Java Basics - Anfänger-Themen 21
P OutputStream Java Basics - Anfänger-Themen 7
H OutputStream Java Basics - Anfänger-Themen 8
M ProcessBuilder und OutputStream Java Basics - Anfänger-Themen 2
M OutputStream funktioniert nur in Endlosschleife ? Java Basics - Anfänger-Themen 4
R OutputStream direkt in StringBuffer schreiben lassen Java Basics - Anfänger-Themen 2
G ClassLoader und OutPutStream Java Basics - Anfänger-Themen 3
G Standard OutputStream out wiederherstellen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben