ETnachHause Geschrieben 10. Juli 2003 Geschrieben 10. Juli 2003 Hallo zusammen, in meinem Programm ist es bisher so geregelt, dass erst eine Datei komplett in ein byte-array gelesen wird und danach wird dieses byte-array auf einen GZIPOutputStream geschickt. Jetzt möchte ich das so machen, dass gleich beim Lesen auch schon gleich geschrieben wird, um die Performance zu verbessern. Hat da jemand einen Ansatz für mich? Weiss gar nicht, wonach ich da suchen soll. Hatte schon überlegt, jedes Byte, dass ich gelesen hab, gleich wegzuschreiben, aber gibt es vielleicht noch eine elegantere Lösung? Grüsse, ET
PerdianMG Geschrieben 10. Juli 2003 Geschrieben 10. Juli 2003 in meinem Programm ist es bisher so geregelt, dass erst eine Datei komplett in ein byte-array gelesen wird und danach wird dieses byte-array auf einen GZIPOutputStream geschickt. Jetzt möchte ich das so machen, dass gleich beim Lesen auch schon gleich geschrieben wird, um die Performance zu verbessern. Hat da jemand einen Ansatz für mich? Naja eigentlich ganz einfach - du brauchst halt eine Quelle, wo deine Daten herkommen (einen InputStream) und ein Ziel, wo die Daten hingeschrieben werde (einen OutputStream). Als Beispiel mal der einfache Weg, eine Datei direkt zu kopieren: public void copyFile(File source, File destination) throws IOException { InputStream in = new BufferedInputStream(FileInputStream(source)); OutputStream out = new BufferedOutputStream(new FileOutputStream(destination)); for(int data = in.read(); data > -1; data = in.read()) { out.write(data); } out.flush(); out.close(); in.close(); } Ciao Christian
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden