title: Progress bar for file transfer to sd
body: <p>i use the following code for downloading a file from the internet. using this code i have a progress dialog </p>
  
  <pre><code>private void startDownload() {
          String url = tv.getText().toString();
          new DownloadFileAsync().execute(url);
      }
  
      class DownloadFileAsync extends AsyncTask&lt;String, String, String&gt;  {
  
          @Override
          protected void onPreExecute() {
              super.onPreExecute();
              showDialog(DIALOG_DOWNLOAD_PROGRESS);
          }
  
          @Override
          protected String doInBackground(String... aurl) {
              int count;
  
              try {
  
                  URL url = new URL(aurl[0]);
                  URLConnection conexion = url.openConnection();
                  conexion.connect();
  
                  int lenghtOfFile = conexion.getContentLength();
                  Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);
  
                  InputStream input = new BufferedInputStream(url.openStream());
                  OutputStream output = new FileOutputStream(
                          "data/data/com.xxxxxxxx.android/app_p_pic/"
                                  + "blabla" 
                  byte data[] = new byte[1024];
  
                  long total = 0;
  
                  while ((count = input.read(data)) != -1) {
                      total += count;
                      publishProgress("" + (int) ((total * 100) / lenghtOfFile));
                      output.write(data, 0, count);
                  }
  
                  output.flush();
                  output.close();
                  input.close();
              } catch (Exception e) {
  
                  e.printStackTrace(); 
  
              }
              return null;
  
          }
  
          protected void onProgressUpdate(String... progress) {
              Log.d("ANDRO_ASYNC", progress[0]);
              mProgressDialog.setProgress(Integer.parseInt(progress[0]));
          }
  
          @Override
          protected void onPostExecute(String unused) {
              dismissDialog(DIALOG_DOWNLOAD_PROGRESS);
          }
  
  
      }
  }
  </code></pre>
  
  <p>is there a way of using the above code to transfer a file from say internal to sd? at the momment i use the following code but iv been unable to get the progress to work with progress bar</p>
  
  <pre><code>protected void ontrans() {
          String title = tv.getText().toString();
  
          try {
  
              myInput = new FileInputStream(title);
  
  
              File directory = new File(Environment.getExternalStorageDirectory()
                      + "/android_files/data/secure");
              if (!directory.exists()) {
                  directory.mkdirs();
              }
  
              OutputStream myOutput = new FileOutputStream(
                      Environment.getExternalStorageDirectory()
                              + "/android_files/data/secure/" + chosenFile);
  
              byte[] buffer = new byte[1024];
              int length;
              while ((length = myInput.read(buffer)) &gt; 0) {
                  myOutput.write(buffer, 0, length);
              }
  
              myOutput.flush();
  
              myOutput.close();
  
              myInput.close();
              Toast.makeText(File_exActivity.this, "file move Succesfully!",
                      Toast.LENGTH_SHORT).show();
              showDialog(11);
          } catch (FileNotFoundException e) {
              Toast.makeText(File_exActivity.this, "no file found!",
                      Toast.LENGTH_LONG).show();
  
              // TODO Auto-generated catch block
              e.printStackTrace();
          } catch (IOException e) {
              Toast.makeText(File_exActivity.this, "move unsuccesfull!",
                      Toast.LENGTH_LONG).show();
  
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
  
      }
  </code></pre>