/*
  Copyright (c) January 2016 by Paweł Rzechonek
  Przykład kopiowania działający na strumieniach.
*/

package kopiowanie;

import java.io.*;

public class Kopiowanie {
    public static void kopiuj(InputStream we, OutputStream wy) throws IOException {
        for (int c = we.read(); c != -1; c = we.read())
            wy.write(c);
        wy.close();
    }
    public static void kopiuj(Reader we, Writer wy) throws IOException {
        for (int c = we.read(); c != -1; c = we.read())
            wy.write(c);
        wy.close();
    }

    public static void main(String[] args) throws IOException {
        String kodowanie = "cp852"; // dla konsoli Windows
        BufferedReader stdWe = new BufferedReader(new InputStreamReader(System.in, kodowanie));
        PrintWriter stdWy = new PrintWriter(new OutputStreamWriter(System.out, kodowanie));
        PrintWriter stdBl = new PrintWriter(new OutputStreamWriter(System.err, kodowanie));
        try {
            kopiuj(stdWe, stdWy);
        }
        catch (IOException ex) {
            stdBl.println("błąd we/wy: " + ex.getMessage());
        }
    }
}
