会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 57自学网———旗下安卓自学网站专注Android系统开发教程!
当前位置:主页 > 数据存储 > 文件SD卡存储 > 正文

Android SD卡 拷贝、复制、粘贴文件或目录

时间:2016-05-19 22:00 来源:网络整理 作者:安卓自学网 阅读:
在使用ES文件浏览器的时候,当浏览SD卡下的文件或者其他地方的文件时,如果长按某一项文件或某一目录时会有"剪切"、"复制"、"重命名"、" 删除" 等操作。于是乎自己也想弄一个类似与ES文件浏览器上面的拷贝复制功能。至于做一个类似ES文件浏览器 一样的软件,也是可以做的。

需要给 AndroidManifest.xml里加上权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>



package  com.copy.file;

/**

  * @author wainiwann

  * Android SD卡文件目录拷贝操作

  *

  */

import  java.io.File;

import  java.io.FileInputStream;

import  java.io.FileOutputStream;

import  java.io.InputStream;

import  java.io.OutputStream;

import  android.app.Activity;

import  android.os.Bundle;

import  android.view.View;

import  android.view.View.OnClickListener;

import  android.widget.Button;

import  android.widget.Toast;

 

public  class  Copy_File extends  Activity

{

     private  Button m_btn = null ;

     private  final  static  String FROMPATH = "/mnt/sdcard/A/" ;

     private  final  static  String TOPATH = "/mnt/sdcard/B/" ;

 

     /** Called when the activity is first created. */

     @Override

     public  void  onCreate(Bundle savedInstanceState)

     {

         super .onCreate(savedInstanceState);

         setContentView(R.layout.main);

         m_btn = (Button)findViewById(R.id.button1);

         m_btn.setOnClickListener( new  OnClickListener()

         {

 

             @Override

             public  void  onClick(View v)

             {

                 // TODO Auto-generated method stub

                 if (copy(FROMPATH, TOPATH)== 0 )

                 {

                     Toast.makeText(Copy_File. this , "文件拷贝成功!!!" , 20000 ).show();

                 } else

                 {

                     Toast.makeText(Copy_File. this , "文件拷贝失败!!!" , 20000 ).show();

                 }

             }

                

         });

     }

    

     public  int  copy(String fromFile, String toFile)

     {

         //要复制的文件目录

         File[] currentFiles;

         File root = new  File(fromFile);

         //如同判断SD卡是否存在或者文件是否存在

         //如果不存在则 return出去

         if (!root.exists())

         {

             return  - 1 ;

         }

         //如果存在则获取当前目录下的全部文件 填充数组

         currentFiles = root.listFiles();

        

         //目标目录

         File targetDir = new  File(toFile);

         //创建目录

         if (!targetDir.exists())

         {

             targetDir.mkdirs();

         }

         //遍历要复制该目录下的全部文件

         for ( int  i= 0 ;i<currentFiles.length;i++)

         {

             if (currentFiles[i].isDirectory()) //如果当前项为子目录 进行递归

             {

(责任编辑:www.57zxw.com)

顶一下
(0)
0%
踩一下
(0)
0%
上一篇:Android Write Storage权限问题
下一篇:没有了