Save binary file from URL : URL « Network « Java Tutorial






import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class MainClass {

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

    URL u = new URL("http://www.java2s.com/binary.dat");
    URLConnection uc = u.openConnection();
    String contentType = uc.getContentType();
    int contentLength = uc.getContentLength();
    if (contentType.startsWith("text/") || contentLength == -1) {
      throw new IOException("This is not a binary file.");
    }
    InputStream raw = uc.getInputStream();
    InputStream in = new BufferedInputStream(raw);
    byte[] data = new byte[contentLength];
    int bytesRead = 0;
    int offset = 0;
    while (offset < contentLength) {
      bytesRead = in.read(data, offset, data.length - offset);
      if (bytesRead == -1)
        break;
      offset += bytesRead;
    }
    in.close();

    if (offset != contentLength) {
      throw new IOException("Only read " + offset + " bytes; Expected " + contentLength + " bytes");
    }

    String filename = u.getFile().substring(filename.lastIndexOf('/') + 1);
    FileOutputStream out = new FileOutputStream(filename);
    out.write(data);
    out.flush();
    out.close();
  }
}








19.2.URL
19.2.1.Creating a URL With components
19.2.2.Creating a URL with a single string.
19.2.3.Create a URL that refers to a jar file in the file system
19.2.4.Create a URL that refers to an entry in the jar file
19.2.5.java.net.URL
19.2.6.A class that displays information about a URL
19.2.7.ProtocolTester
19.2.8.Parsing a URL
19.2.9.Eliminate Query
19.2.10.Parse Host
19.2.11.Parse Port
19.2.12.Make a URL from the given string
19.2.13.Create BufferedInputStream from URL
19.2.14.Utility to convert File to URL.
19.2.15.Read from URL
19.2.16.Get Content from a URL
19.2.17.Save binary file from URL
19.2.18.Reading A Web Resource: Opening a URL's stream
19.2.19.Relative URL
19.2.20.Resolve a relative URL
19.2.21.Build query string for URL
19.2.22.URL Equality
19.2.23.URL Splitter
19.2.24.new URL('mailto:your@yourserver.net')
19.2.25.Getting Text from a URL
19.2.26.Getting an Image from a URL
19.2.27.Getting a Jar File Using a URL
19.2.28.File size from URL
19.2.29.Returns true if the URL represents a path, and false otherwise.
19.2.30.Locating files by path or URL
19.2.31.provides a simple interface for assembling GET URLs
19.2.32.Add Parameter to URL
19.2.33.Extracts the base URL from the given URL by stripping the query and anchor part.
19.2.34.Returns the anchor value of the given URL