Stream in Datei speichern

Hallo,

eigentlich sollte es ein schnell geschriebenes Programm werden, dennoch komme ich nicht dahinter.
Ich will einen Radiostream in eine Datei reinspeichern. Das habe ich einmal probiert indem ich in nur einem Thread lese/speicher, aber auch in 2 von einander getrennten Threads da es beim ersten mal nicht funktioniert hat.

Hier der Thread der vom Stream liest und schreibt (ich kann auch den Source für die getrennten Threads posten, dort tritt aber das gleiche Problem auf, url ist z.B.: "http://onair.krone.at/kronehit-hd.mp3"):

try {
 URL url = new URL(this.url\_);
 is = url.openStream();
 os = new FileOutputStream(this.file\_, true);

 byte[] b = new byte[2048];
 int length = 0;
 while (this.running\_ && (length = is.read(b)) != -1) {
 os.write(b);
 os.flush();
 }
} catch (IOException exc) {
 exc.printStackTrace();
} finally {
 Utils.close(is);
 Utils.close(os);
}

Bei der erstellen Datei gibt es zwischendurch Soundhaker und er Ton wiederholt sich nach einiger Zeit. Hat jemand eine Idee? Ich hab schon unterschiedlich große Buffergrößen versucht, immer das gleiche.

mfg

Fehler gefunden:

statt:

os.write(b);
os.flush();

 os.write(b, 0, length);

Anscheinend kümmert sich der FOS schon um das richtig anhängen der Daten wenn ich ihn mit append=true initialisiere.

mfg