質問

したいと思っていアドバイスとするのにたいして、新しいプロジェクトをスタートの作成javaをダウンロードの加速器利用の複数接続します。知りたかったんですがどう行くことがありますか?

私がこれまで把握できたらいいのに使用HttpUrlConnectionの範囲を有したいと思っていかに効率的な方法を行っています。ましてダウンロードの部品から複数接続し、その手のパーツとし、完全にダウンロードファイルです。

かまいません。:)

役に立ちましたか?

解決

  1. を取得し コンテンツの長さ ファイルのダウンロードしていただけます。
  2. 分割 itによる基準サイズ-速度...).
  3. 複数のスレッドファイルをダウンロードから別の位置
    保存して異なるファイル: myfile.part1,  myfile.part2, …
  4. 一度ダウンロード、部品の入 単一のファイル.

また、以下のコードコンテンツを取得する長さ:

public Downloader(String path) throws IOException {
    int len = 0;
    URL url = new URL(path);
    URLConnection connectUrl = url.openConnection();
    System.out.println(len = connectUrl.getContentLength());
    System.out.println(connectUrl.getContentType());

    InputStream input = connectUrl.getInputStream();
    int i = len;
    int c = 0;
    System.out.println("=== Content ==="); 
    while (((c = input.read()) != -1) && (--i > 0)) {
        System.out.print((char) c);
    }
    input.close(); 
}

こちらのサンプルコードのファイル:

public void join(String FilePath) {
    long leninfile=0, leng=0;
    int count=1, data=0;
    try {
        File filename = new File(FilePath);
        RandomAccessFile outfile = new RandomAccessFile(filename,"rw");
        while(true) {
            filename = new File(FilePath + count + ".sp");
            if (filename.exists()) {
                RandomAccessFile infile = new RandomAccessFile(filename,"r");
                data=infile.read();
                while(data != -1) {
                    outfile.write(data);
                    data=infile.read();
                }
                leng++;
                infile.close();
                count++;
            } else break;
        }
        outfile.close();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

他のヒント

いようにしたい場合の接合後のセグメントのダウンロードを使用してくださ FileChannel.
FileChannel, だから書き込みを行うことができま任意の位置でのファイルでも、複数のスレッドで).

ですが初 allocate 全体のファイルとして
書のセグメントが所属している してい.

を参照 Javadocsページ 詳細

JDownloader の私が見た中で最高のダウンローダです。あなたが興味を持っている場合、それはオープンソースだときっとあなたは自分のコードから多くを学ぶことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top