`
wenzongliang
  • 浏览: 461572 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

 

 

在使用ES文件浏览器的时候,当浏览SD卡下的文件或者其他地方的文件时,如果长按某一项文件或某一目录时会有"剪切"、"复制"、"重命名"、"删除" 等操作。于是乎自己也想弄一个类似与ES文件浏览器上面的拷贝复制功能。至于做一个类似ES文件浏览器 一样的软件,也是可以做的。

 

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

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

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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())//如果当前项为子目录 进行递归
            {
                copy(currentFiles[i].getPath() + "/", toFile + currentFiles[i].getName() + "/");
                 
            }else//如果当前项为文件则进行文件拷贝
            {
                CopySdcardFile(currentFiles[i].getPath(), toFile + currentFiles[i].getName());
            }
        }
        return 0;
    }
     
   
    //文件拷贝
    //要复制的目录下的所有非子目录(文件夹)文件拷贝
    public int CopySdcardFile(String fromFile, String toFile)
    {
         
        try
        {
            InputStream fosfrom = new FileInputStream(fromFile);
            OutputStream fosto = new FileOutputStream(toFile);
            byte bt[] = new byte[1024];
            int c;
            while ((c = fosfrom.read(bt)) > 0)
            {
                fosto.write(bt, 0, c);
            }
            fosfrom.close();
            fosto.close();
            return 0;
             
        } catch (Exception ex)
        {
            return -1;
        }
    }
     
 
}

 下次在写个文件浏览器,然后在获取某一项的长按事件,然后弹出一个Dialog实现文件操作。

我的话费充值店-各种面额

电信100元仅售98.60 
联通100仅售99.00
移动100仅售99.30

分享到:
评论

相关推荐

    Android 手机sdcard目录或文件的拷贝 移动 删除 递归

    一个关于文件操作的静态工具类 实现手机SD卡目录或文件的拷贝 移动 删除 递归 Demo中有详细注释 在进行Demo测试时 建议先把测试的文件备份一下在测试 否则删除就找不回了 具体可见我博客...实现手机SD卡目录或文件的...

    文件从sd卡某个目录复制到另一个目录

    在Android系统中,移动或复制文件是常见的操作,特别是在处理外部存储设备如SD卡时。本文将详细讨论如何实现“文件从SD卡的某个目录复制到另一个目录”的过程,包括必要的步骤、注意事项以及可能遇到的问题。 首先...

    android中复制资源文件中的数据库文件到sd卡或内存源码

    在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...

    android sd卡文件浏览

    总之,Android平台通过一系列API提供了对SD卡文件的访问能力,开发者可以通过编程实现文件浏览功能,为用户提供查看和管理SD卡上文件的便利。在实际开发中,要确保遵循权限管理和最佳实践,以确保应用的兼容性和安全...

    android SD卡文件浏览器

    Android系统的文件管理基于Linux文件系统,采用目录树结构,根目录为"/",其中"/sdcard"或"/storage/emulated/0"通常代表内部存储(相当于SD卡)的公共可访问区域。文件浏览器允许用户查看和操作这些文件,如同...

    Android 文件拷贝Demo

    Android 文件拷贝Demo,可实现SD卡以及内部存储之间进行拷贝

    Android SD卡文件读写操作

    在Android系统中,SD卡(Secure Digital Card)是设备存储扩展和数据交换的重要媒介,它为应用程序提供了额外的存储空间,以保存用户数据、媒体文件或其他应用相关资源。本篇文章将详细探讨Android平台上SD卡的文件...

    Android 之 将RAW资源文件写入SD卡工具类

    在Android开发中,有时我们需要将应用内部的RAW资源文件复制到外部存储(如SD卡)以便于用户访问或保存数据。这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将...

    android:assets下的文件复制到SD卡

    在Android开发中,有时我们需要将应用内部的资源文件,如图片、文本或配置文件等,复制到外部存储(如SD卡)以便于后续的操作,比如读取大文件以减轻内存负担,或者创建用户可访问的数据目录。`android:assets`是...

    android浏览SD卡目录文件,实现音频播放

    在Android平台上,开发一款应用程序来浏览SD卡目录并实现音频播放功能是一项常见的需求。这个功能可以让用户自由选择存储在外部存储设备(如SD卡)上的音频文件进行播放,增加了应用的灵活性和用户体验。下面我们将...

    android demo,sd卡文件存储和data下文件存储。

    在使用SD卡存储时,需要注意权限问题。自Android 6.0(API级别23)以来,应用需要在运行时请求`WRITE_EXTERNAL_STORAGE`和`READ_EXTERNAL_STORAGE`权限。 **2. data下文件存储** 内部data目录下的文件存储主要用于...

    手机SD存储卡文件浏览 Android 源程序

    本项目名为"手机SD存储卡文件浏览 - Android 源程序",提供了一个完整的、可运行的解决方案,允许用户在Android设备上查看和管理SD卡上的文件。 1. **Android 文件系统概述** Android系统采用Linux内核,因此其...

    android读取sd卡中MP3文件

    1. **文件系统访问**:Android设备上的外部存储(通常称为SD卡)被模拟为一个文件系统,可以使用Java的`java.io.File`类来操作。首先,你需要获取SD卡的根目录路径,通常是`Environment.getExternalStorageDirectory...

    从SD卡读取文件并拷贝到另一目录

    帮人写的SD卡拷贝文件到另一目录,并显示文件内容,我选取的文件比较小。运行demo之前先放一个文件a.txt到SD卡目录下才行,否则查找不到对应的文件。此程序是用service做的,启动service后才读取文件,按别人的要求

    android SD卡上文本文件浏览选择器 勾选文件返回路径

    标题提到的"android SD卡上文本文件浏览选择器 勾选文件返回路径"就是这样一个功能,它允许用户在SD卡中查找并选择多个TXT文件,然后获取所选文件的路径以便进一步处理。 首先,我们要实现自动扫描SD卡上的所有TXT...

    android 将assets 下的文件复制到手机内存中

    在Android开发中,有时我们需要将应用内部的资源文件,如配置文件、数据库文件或静态数据等,复制到手机的外部存储(内存或SD卡)以便于应用运行时使用。这个过程通常涉及到Android的文件系统操作和权限管理。下面将...

    android复制asset中文件到SD卡

    在Android开发中,将资源文件从Asset目录复制到外部存储(如SD卡)是一个常见的需求。这主要适用于那些需要在应用程序运行时动态访问或者需要在设备上持久保存的非代码数据,例如音频、视频、配置文件等。下面将详细...

    android中sd卡文件浏览列表

    在Android系统中,访问SD卡上的文件并展示在列表中是一项常见的需求,这通常涉及到文件系统的操作和UI组件的使用。本话题将深入探讨如何利用ListView和自定义Adapter实现一个SD卡文件浏览器。 首先,我们需要了解...

    安卓SD卡文件管理更新信息相关-Android文件操作列表显示进入退出删除复制粘贴新建文件等等.rar

    这个压缩包"安卓SD卡文件管理更新信息相关-Android文件操作列表显示进入退出删除复制粘贴新建文件等等.rar"提供了一些关于如何在Android应用中实现SD卡文件管理功能的源码示例。以下是对这些知识点的详细说明: 1. ...

Global site tag (gtag.js) - Google Analytics