MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class MainClass {
    public static void main(String args[]) {
        try {
            URL root = new URL("http://");
            saveBinaryFile(root);
        } catch (MalformedURLException e) {
            System.err.println("not URL I understand.");
        }
    }

    public static void saveBinaryFile(URL u) {
        int bufferLength = 128;
        try {
            URLConnection uc = u.openConnection();
            String ct = uc.getContentType();
            int contentLength = uc.getContentLength();
            if (ct.startsWith("text/") || contentLength == -1) {
                System.err.println("This is not a binary file.");
                return;
            }

            InputStream stream = uc.getInputStream();
            byte[] buffer = new byte[contentLength];
            int bytesread = 0;
            int offset = 0;
            while (bytesread >= 0) {
                bytesread = stream.read(buffer, offset, bufferLength);
                if (bytesread == -1)
                    break;
                offset += bytesread;
            }
            if (offset != contentLength) {
                System.err.println("Error: Only read " + offset + " bytes");
                System.err.println("Expected " + contentLength + " bytes");
            }

            String theFile = u.getFile();
            theFile = theFile.substring(theFile.lastIndexOf('/') + 1);
            FileOutputStream fout = new FileOutputStream(theFile);
            fout.write(buffer);
        } catch (Exception e) {
            System.err.println(e);
        }
        return;
    }
}