簡體   English   中英

使用Java下載文件

[英]Downloading files with Java

我寫了一些代碼來下載我做的網絡直播。 它獲取劇集的URL並獲取保存它的位置。 但是,它最多只下載16MB然后自動取消。 我不完全確定要改變什么價值來增加這個。 是否有可能,有人可以指出我正確的方向嗎? 謝謝!

下載代碼:

    URL url = new URL(episode.getUrl());
    ReadableByteChannel rbc = Channels.newChannel(url.openStream());
    FileOutputStream fos = new FileOutputStream(episode.getLocalSave());
    fos.getChannel().transferFrom(rbc, 0, 1 << 24);

快速瀏覽transferFrom的文檔:

public abstract long transferFrom(ReadableByteChannel channel, long position, long count)

好。

計數的值1 << 24(來自原始問題)等於16M

我猜這是你問題的答案:-)

這是另一個解決方案:

import java.io.*;
import java.net.*;
public class DownloadFile
{

    public static void main(String args[]) throws IOException
    {

        java.io.BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL(episode.getUrl()).openStream());
        java.io.FileOutputStream fos = new java.io.FileOutputStream(episode.getLocalSave());
        java.io.BufferedOutputStream bout = new BufferedOutputStream(fos);
        byte data[] = new byte[1024];
        int read;
        while((read = in.read(data,0,1024))>=0)
        {
            bout.write(data, 0, read);
        }
        bout.close();
        in.close();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM