public static void getRemoteFile( String urlStr, String fileName ) throws IOException, InterruptedException { byte[] buffer = new byte[1024]; HttpURLConnection connection = null; URL url = null; BufferedInputStream bis = null; FileOutputStream fos = null; int size=0; int contentSize = 0; int downloaded = 0; if( null == urlStr || null == fileName ) { return; } try { url = new URL( urlStr ); connection = ( HttpURLConnection ) url.openConnection(); bis = new BufferedInputStream( connection.getInputStream() ); contentSize = connection.getContentLength(); if( contentSize <= 0 ) { return; } fos = new FileOutputStream( fileName ); //read the file and write to local file(filename) while ((size=bis.read( buffer ))!=-1) { fos.write( buffer,0, size); fos.flush(); downloaded = downloaded + buffer.length; System.out.println( "Downloaded: " + downloaded + " bytes!" ); } } catch ( IOException e ) { throw e; } finally { try { //close the connections and streams fos.close(); bis.close(); connection.disconnect(); } catch ( IOException e1 ) { throw e1; } } }