Note that there are some explanatory texts on larger screens.

plurals
  1. PODownload PDF file android
    text
    copied!<p>i have An Error while download PDF file From Server and save it on SD i have permission To Access internet and external storage .. It`s working fine on android 2.3.6 But on Tab 4.1.1 its create the file with 0 byte </p> <pre><code>URL url = new URL("https://docs.google.com/"+direct); //create the new connection HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); //set up some things on the connection urlConnection.setRequestMethod("GET"); urlConnection.setRequestProperty("Connection", "Keep-Alive"); urlConnection.setRequestProperty("Content-Type", "application/xml"); urlConnection.setDoOutput(true); //and connect! urlConnection.connect(); //set the path where we want to save the file //in this case, going to save it on the root directory of the //sd card. File SDCardRoot = new File(Environment.getExternalStorageDirectory().getAbsoluteFile()+"/folder/"); //create a new file, specifying the path, and the filename //which we want to save the file as. File file = new File(SDCardRoot,book.getBook_name()+".pdf"); //this will be used to write the downloaded data into the file we created FileOutputStream fileOutput = new FileOutputStream(file); //this will be used in reading the data from the internet InputStream inputStream = urlConnection.getInputStream(); //this is the total size of the file totalSize = urlConnection.getContentLength(); //variable to store total downloaded bytes //create a buffer... byte[] buffer = new byte[1024]; int bufferLength = 0; //used to store a temporary size of the buffer //now, read through the input buffer and write the contents to the file while ( (bufferLength = inputStream.read(buffer)) &gt; 0 ) { //add the data in the buffer to the file in the file output stream (the file on the sd card fileOutput.write(buffer, 0, bufferLength); //add up the size so we know how much is downloaded downloadedSize += bufferLength; //this is where you would do something to report the prgress, like this maybe publishProgress((downloadedSize*100)/totalSize); } //close the output stream when done fileOutput.close(); //catch some possible errors... } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload