Android 最简单的SD卡文件遍历程序

package com.wenhao.test.sddemo;

import java.io.File;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainDemo extends Activity {
    /** Called when the activity is first created. */

    private Button button = null;
    private File path;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button = (Button)findViewById(R.id.mybutton);

        //检测SD卡是否存在
        if (Environment.getExternalStorageState().equals(
                Environment.MEDIA_MOUNTED)) {
            path = Environment.getExternalStorageDirectory();
        }else{
            Toast.makeText(this, "没有SD卡", Toast.LENGTH_LONG).show();
            finish();
        }

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                getAllFiles(path);
            }
        });

    }

    // 遍历接收一个文件路径,然后把文件子目录中的所有文件遍历并输出来
    private void getAllFiles(File root){
        File files[] = root.listFiles();
        if(files != null){
            for (File f : files){
                if(f.isDirectory()){
                    getAllFiles(f);
                }else{
                    System.out.println(f);
                }
            }
        }
    }  

}
时间: 2024-08-08 03:06:01

Android 最简单的SD卡文件遍历程序的相关文章

Android数据存储之SD卡文件操作

赶上智能手机刚问世时有幸用过的小伙伴都知道,那时候的Android系统是把我们自己买的SD卡作为外部存储的,但是不知道从哪天开始,SD卡就被固化到智能手机的内部了,但是我们仍然把它称为外部存储.我想Android这样做的原因大概是因为市面上SD卡质量有好有坏,可能会影响APP运行吧(因为笔者就有过APP数据完全丢失的惨痛经历). 获取手机上的SD卡信息通过Environment类实现,该类是App获取各种目录信息的工具,主要方法有以下7种: · getRootDirectory:获得系统根目录的

Windows Phone8.1中SD卡文件的读取写入方法汇总

起初我想从SD卡上读取文件可以从两个方面着手吧: 1.通过文件选择器FileOpenPicker,来逐层到手机找到需要读取的文件,然后点击直接读取显示内容 2.直接到SD卡中读取文件 第一种方法逻辑有些复杂,设计到应用暂时的挂起和恢复,这篇博客不深究这种方法 第二种方法,相对于来说逻辑就比较简单了.只要获取到SD卡对象,遍历里面的文件或者直接指定某一个文件夹,接下 来就是读取文件内容或文件夹中的内容了. 对于上面的两种方法,作为初学者的我最近都尝试了好几遍,着实感觉学到了好多.多次逛博客,贴吧,

数码相机SD卡文件格式化了怎么恢复

SD卡是一种广泛运用于数码相机.手机.多媒体播放器等便携设备上的存储记忆卡.作为使用最广泛的存储载体,SD卡因为拥有高记忆容量.快速数据传输率.极大的移动灵活性以及很好的安全性,同时性价比比较高,被大多数数码相机采用.在数据安全性方面,SD卡文件丢失是一个不容忽视的问题,格式化就是最常见的一种.那么,数码相机SD卡文件格式化了怎么恢复呢?SD卡格式化之后的恢复方法一般有三种. 第一种是从备份中恢复.一定要备份,我相信这是大多数有过数据丢失经历的小伙伴们都深有体会.当你出去旅行拍完照片,回来之后,

android客户端把SD卡文件上传到服务器端并保存在PC硬盘文件夹中

在局域网内,实现从android客户端把手机SD卡上的文件上传到PC服务器端,并保存在PC硬盘的指定文件夹下.同时把PC端硬盘文件的目录和对文件的描述信息保存在mysql数据库中. 1.客户端关键代码: (1)获得SD卡上的文件 /** * 获得文件路径和状态信息 * * @return */ private String getFiles() { File path = null; // 判断SD卡是否存在可用 if (Environment.getExternalStorageState()

Android测试读写sd卡文件与写sd卡文件耗时

测试从sd卡读1k大小的文件,再写1k大小的文件,由于处理耗时很短,所以循环500次,查看耗时:测试写1k大小的文件,直接在内存构造一个1k的buffer,将这个buffer直接写到文件,同样循环500次,查看耗时. 思路:首先读写文件,建立文件输入输出流,然后将读取的数据直接写入文件,打印时间戳,查看耗时:只写文件,新建一个1k的buffer,然后用文件输出流写入文件,打印时间戳,查看耗时. 直接上代码: 1 package com.example.ghimtim.myapplication;

Android 删除SD卡文件和文件及创建文件夹和文件

package com.jiub.client.mobile.addphoto; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.graphics.Bitmap; import android.os.Environment; import android.util.Log; p

Android得到SD卡文件夹大小以及删除文件夹操作

float cacheSize = dirSize(new File(Environment.getExternalStorageDirectory() + AppConstants.APP_CACHE_FOLDER)) / 1024.0f / 1024.0f; tvCacheSize.setText(((int) (cacheSize * 100)) / 100.0f + "M"); /** * Return the size of a directory in bytes */ p

sd卡文件存储和读取

package com.example.filedemo1; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity {

读取SD卡文件夹下的MP3文件和播放MP3文件

首先获取SD卡path路径下的所有的MP3文件,并将文件名和文件大小存入List数组(此代码定义在FileUtils类中): /** * 读取目录中的Mp3文件的名字和大小 */ public List<Mp3Info> getMp3Files(String path) { SDCardRoot = Environment.getExternalStorageDirectory() .getAbsolutePath(); //获取SD卡的路径名 List<Mp3Info> mp3I