我寫了一個Java程序,爲我下載音頻文件,並使用BufferedInputStream。 read()函數工作正常,但速度很慢,所以我嘗試使用byte []的重載版本。BufferedInputStream.read(byte [])導致問題。任何人有過這個問題嗎?
由於某些原因,下載後音頻變得有損和奇怪。我不完全確定我做錯了什麼,所以任何幫助表示讚賞!這是代碼的簡化版本。
BufferedInputStream bin = new BufferedInputStream((new URL(url)).openConnection().getInputStream());
File file = new File(fileName);
FileOutputStream fop = new FileOutputStream(file);
int rd = bin.read();
while(rd != -1)
{
fop.write(rd);
rd = bin.read();
}
哦,我的...這是一個粗心的錯誤!非常感謝您指出我! :D – 2011-01-06 00:58:25
它發生在我們身上!我不止一次地發生過這種情況......通常會使用圖像文件,因此在複製的圖像中會出現奇怪的工件。最大的症狀是,我的所有文件大小都是1024的倍數。這就是死亡給出的。 – Zeki 2011-01-06 01:06:56