Speichern von binären Dateien (Zip-Archiv) per Stream?

Status
Nicht offen für weitere Antworten.

Novanic

Bekanntes Mitglied
Hi Leute,

ich hab ein Problem beim Speichern von binären Dateien (Zip-Archiven).
Ich möchte ein Zip-Archiv von einem Server laden. Die FTP-Verbindung klappt auch und Text-Dateien kann ich auch ohne Probleme herunterladen.
Aber wenn ich eine Zip-Datei herunterladen möchte. Kann ich das Archiv danach nicht mehr öffnen ("Unerwartetes Dateiende" oder so.

Habt ihr eine Idee wodran das liegen könnte / was ich machen kann?

Danke schonmal im Voraus! 🙂

Hier meine Methode die den InputStream speichert:

Code:
    public void write(InputStream aStream, File aOutputFile)
    {
        if(aStream != null)
        {
            BufferedReader theReader = new BufferedReader(new InputStreamReader(aStream));
            FileWriter theFileWriter = null;
            try {
                theFileWriter = new FileWriter(aOutputFile);
            } catch (IOException e) {
                e.printStackTrace();
            }

            if(theFileWriter != null)
            {
                BufferedWriter theWriter = new BufferedWriter(theFileWriter);

                String theLine;
                try {
                    while((theLine = theReader.readLine()) != null)
                    {
                        theWriter.write(theLine);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }

                try {
                    theWriter.flush();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    theWriter.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

            try {
                theReader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                aStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

Gruß Nova
 
Sondern?

Das heißt ich kann auch nichts mit Streams anfangen oder?
Wie kann ich dann eine binäre Datei von einem FTP-Server laden?
 
Hm, und wie kann ich dann mit Streams arbeiten ohne Reader und Writer zu verwenden?

Ich möchte den InputStream den ich bekomme in eine Datei schreiben.

Danke schonmal.

Gruß Nova
 
Ah, jetzt funktioniert es! Danke! 🙂

Ich hatte auch noch einen Fehler, weil der FTPClient von apache.commons.net standardmäßig auf ASCIIFileType gesetzt ist. Musste ich auf BinaryFileType umstellen.

Gruß Nova
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben