JavaintermediatecliAI generated

Multi-threaded File Downloader CLI

A Java command-line tool that downloads a file by splitting it into byte-range chunks fetched concurrently across multiple threads, then reassembles them. Learners practice ExecutorService, thread coordination, and HTTP range requests.

Estimate
~8.5h
Steps
5
Completed by
0
Proposed by
codeseed.app

Java HttpClient · ExecutorService

Project roadmap

  1. 01

    Query file metadata

    ~1h

    Check the target URL's content length and whether it supports byte-range requests.

  2. 02

    Split the download into chunks

    ~1.5h

    Divide the file into byte-range chunks and design a download task for each.

  3. 03

    Download chunks concurrently

    ~2.5h

    Use an ExecutorService to fetch chunks in parallel while tracking overall progress.

  4. 04

    Reassemble the file

    ~1.5h

    Merge downloaded chunks back into the final file in the correct order.

  5. 05

    Add progress and resume

    ~2h

    Show a live progress bar and support resuming interrupted downloads.

Resources

Ready to build this?

Get a GitHub repo and start building. Your AI reviewer checks each step as you go.

~8.5h · 5 steps

Tech stack

Java HttpClientExecutorService