Загрузка файлов с помощью Java

Я написал немного кода для загрузки эпизода трансляции, которую я делаю. Он получает URL-адрес эпизода и получает место для его сохранения. Тем не менее, он загружает только до 16 МБ, а затем автоматически отменяет. Я не совсем уверен, какую ценность изменить, чтобы увеличить это. Возможно ли, и может кто-нибудь, пожалуйста, указать мне в правильном направлении? Thankyou!

Код загрузки:

    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);

Ответ 1

Быстрый просмотр документации transferFrom:

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

WELL.

Значение 1 < 24 для счета (из исходного вопроса) равно 16M

Я думаю, что ответ на ваш вопрос: -)

Ответ 2

здесь другое решение:

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();
    }
}