Sample code for 30+ languages & platforms
Java

HTTP Download any Type of File (binary or text)

See more HTTP Examples

The Download method can download any file type, whether binary (e.g., .zip, .pdf) or text (.xml, .txt), without distinction. It streams the file byte-for-byte from the web server exactly as received. This same process applies to web pages: providing a URL typically viewed in a browser downloads the server's delivered HTML to a file.

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkHttp http = new CkHttp();
    http.put_KeepResponseBody(true);

    // Download a .zip
    String localFilePath = "/temp/hamlet.zip";
    success = http.Download("https://www.chilkatsoft.com/hamlet.zip",localFilePath);
    int statusCode = http.get_LastStatus();
    if (success == false) {
        if (statusCode == 0) {
            // Unable to either send the request or get the response.
            System.out.println(http.lastErrorText());
            }
        else {
            // We got a response, but the status code was not in the 200s
            System.out.println("Response status code: " + statusCode);
            // Examine the response body.
            System.out.println("Response body:");
            System.out.println(http.lastResponseBody());
            }

        System.out.println("Download failed.");

        }
    else {
        System.out.println("Download success, response status = " + statusCode);
        }

    // Download an XML file:
    localFilePath = "/temp/hamlet.xml";
    success = http.Download("https://www.chilkatsoft.com/hamlet.xml",localFilePath);
    // ...
    // Check for errors in the same way as shown above..
    // ...

    System.out.println("OK!");
  }
}