Sunday 20 April 2014

Delete Folder & copy and movig file in Android

How to delete folder..?

public static void deleteFiles(String path) {

    File file = new File(path);

    if (file.exists()) {
        String deleteCmd = "rm -r " + path;
        Runtime runtime = Runtime.getRuntime();
        try {
            runtime.exec(deleteCmd);
        } catch (IOException e) { }
    }
}
 
 
 OR 
 
void DeleteRecursive(File fileOrDirectory) {

   if (fileOrDirectory.isDirectory())
      for (File child : fileOrDirectory.listFiles())
          DeleteRecursive(child);

      fileOrDirectory.delete();

      } 

 copy and movig file 

Two way 

1)

 
private void copyFilenew(String inputPath, String inputFile, String outputPath) {

     InputStream in = null;
     OutputStream out = null;
     try {

         //create output directory if it doesn't exist
         File dir = new File (outputPath); 
         if (!dir.exists())
         {
             dir.mkdirs();
         }

         in = new FileInputStream(inputPath + inputFile);        
         out = new FileOutputStream(outputPath + inputFile);

         byte[] buffer = new byte[1024];
         int read;
         while ((read = in.read(buffer)) != -1) {
             out.write(buffer, 0, read);
         }
         in.close();
         in = null;

             // write the output file (You have now copied the file)
             out.flush();
         out.close();
         out = null;        

     }  catch (FileNotFoundException fnfe1) {
         Log.e("tag", fnfe1.getMessage());
     }
             catch (Exception e) {
         Log.e("tag", e.getMessage());
     }

 }
 
 
OR
 
 
public static boolean copyFile(String from, String to) {
  try {
   File sd = Environment.getExternalStorageDirectory();
   if (sd.canWrite()) {
    int end = from.toString().lastIndexOf("/");
    String str1 = from.toString().substring(0, end);
    String str2 = from.toString().substring(end+1, from.length());
    File source = new File(str1, str2);
    File destination= new File(to, str2);
    if (source.exists()) {
     FileChannel src = new FileInputStream(source).getChannel();
     FileChannel dst = new FileOutputStream(destination).getChannel();
     dst.transferFrom(src, 0, src.size());
     src.close();
     dst.close();
    }
   }
   return true;
  } catch (Exception e) {
   return false;
  }
 }  

2)
 public static void copyDirectoryOneLocationToAnotherLocation(File sourceLocation, File targetLocation)
   throws IOException {

  if (sourceLocation.isDirectory()) {
   if (!targetLocation.exists()) {
    targetLocation.mkdir();
   }

   String[] children = sourceLocation.list();
   for (int i = 0; i < sourceLocation.listFiles().length; i++) {

    copyDirectoryOneLocationToAnotherLocation(new File(sourceLocation, children[i]),
      new File(targetLocation, children[i]));
   }
  } else {

   InputStream in = new FileInputStream(sourceLocation);

   OutputStream out = new FileOutputStream(targetLocation);

   // Copy the bits from instream to outstream
   byte[] buf = new byte[1024];
   int len;
   while ((len = in.read(buf)) > 0) {
    out.write(buf, 0, len);
   }
   in.close();
   out.close();
  }

 }
 
 
 
 
 

No comments:

Post a Comment