`
kalogen
  • 浏览: 880157 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android 获取文件目录以及文件的删除 .

 
阅读更多

//看来看一下效果

//main.xml文件

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView android:layout_width="fill_parent"  
         android:id="@+id/TextView"  
         android:background="#ffff00"  
         android:layout_height="wrap_content"
         android:text="@string/hello"
          />  
     <ListView android:id="@android:id/list"  
         android:layout_width="fill_parent"  
         android:layout_height="wrap_content">  
     </ListView>

</LinearLayout>

 

 

//文件清单里面要加权限, 不然无法删除文件

 

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

 

 

//核心代码

 

package sn.len.service;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class TestServiceActivity extends ListActivity 
{
	private List<String> items = null;//存放名称  
    private List<String> paths = null;//存放路径  
    private String rootPath = "/";  
    private TextView tv;
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        tv = (TextView) this.findViewById(R.id.TextView);  
        this.getFileDir(rootPath);//获取rootPath目录下的文件. 
	} 
	public void getFileDir(String filePath) 
	{  
        try
        {  
            this.tv.setText("当前路径:"+filePath);// 设置当前所在路径  
            items = new ArrayList<String>();  
            paths = new ArrayList<String>();  
            File f = new File(filePath);  
            File[] files = f.listFiles();// 列出所有文件  
            // 如果不是根目录,则列出返回根目录和上一目录选项  
            if (!filePath.equals(rootPath)) 
            {  
                items.add("返回根目录");  
                paths.add(rootPath);  
                items.add("返回上一层目录");  
                paths.add(f.getParent());  
            }  
            // 将所有文件存入list中  
            if(files != null)
            {  
                int count = files.length;// 文件个数  
                for (int i = 0; i < count; i++) 
                {  
                    File file = files[i];  
                    items.add(file.getName());  
                    paths.add(file.getPath());  
                }  
            }  
  
            //可以去查一相这个类
            //this 上下文
            //android.R.layout.simple_list_item_1 是Android显示列表每一项自己的主题
            //item则就是根据你自己的内容来显示
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items);  
            this.setListAdapter(adapter);  
        }
        catch(Exception ex)
        {  
            ex.printStackTrace();  
        }  
  
    }  
	
	@Override  
    protected void onListItemClick(ListView l, View v, int position, long id) 
	{  
        super.onListItemClick(l, v, position, id);  
        String path = paths.get(position);  
        final File file = new File(path);  
        //如果是文件夹就继续分解  
        if(file.isDirectory())
        {  
            this.getFileDir(path);  
        }
        else
        {  
        	
        	AlertDialog.Builder alertDialog=new AlertDialog.Builder(this);
        	alertDialog.setTitle("提示");
        	alertDialog.setMessage(file.getName()+" 是一个文件,你要删除这个文件吗");
        	//设置左面确定
        	alertDialog.setPositiveButton
            ("确定", new DialogInterface.OnClickListener()
	            {  
	                public void onClick(DialogInterface dialog, int which) 
	                {  
	                         //执行删除,或者什么。。。操作
	                		File delFile=new File(file.getAbsolutePath());
	                		if(delFile.exists())
	                		{
	                			Log.i("PATH",delFile.getAbsolutePath());
	                			delFile.delete();
	                			//刷新界面
	                			getFileDir(file.getParent());	
	                		}
	                }  
	            }
            );
        	//设置右边取消
        	alertDialog.setNegativeButton
        	("取消", new DialogInterface.OnClickListener()
	            {  
	                public void onClick(DialogInterface dialog, int which) 
	                {  
	                	 	//执行操作
	                	getFileDir(file.getParent());
	                }  
	            }
        	);
        	alertDialog.show();
        }  
    }  
}

 

摘自:http://blog.csdn.net/yanglian20009/article/details/7087724

分享到:
评论

相关推荐

    Android文件目录及文件访问权限等详解Demo

    本文将深入探讨Android的文件目录结构以及文件访问权限,结合给出的资源列表,我们将探讨如何在实际项目中操作这些概念。 首先,Android系统的文件目录结构是分层的,主要包括以下几个关键部分: 1. **外部存储...

    Android 文件 内存目录获取 sdcard目录获取

    本篇将详细介绍在Android 2.3及更高版本中,如何获取和操作Android设备的内存目录以及SDCard目录。 首先,我们要理解Android的存储架构。内部存储主要用于存储应用私有的数据,这些数据对其他应用是不可见的。而...

    Android录音 获取录音文件 录音时间

    本文将深入探讨如何在Android中实现录音、获取录音文件以及控制录音时间,同时也会提及与动画和文件操作相关的知识点。 一、Android录音机制 Android系统提供了MediaRecorder类来处理音频录制。MediaRecorder是一个...

    Android 获取文件、删除文件、仿微信聊天界面.rar

    Android 获取文件、删除文件、仿微信聊天界面:  final EditText etwjlb=(EditText)this.findViewById(R.id.etwjlb);//文件列表显示文本框  final EditText etwjmc=(EditText)this.findViewById(R.id.etwjmc);//...

    Android7.0 自定义文件管理器 获取文件夹路径

    用户需要能够选择、排序、搜索和执行其他操作(如复制、剪切、粘贴、删除)文件和目录。这需要实现点击事件监听器,可能还需要自定义动画和反馈。 8. 异步操作: 遍历文件系统和读取文件内容可能会耗时,因此建议...

    Android.例子.实例.文件浏览器

    创建文件浏览器的第一步是获取文件系统的目录列表。Android提供了`java.io.File`类,用于操作文件和目录。你可以通过创建`File`对象并调用`listFiles()`方法来获取指定目录下的所有文件和子目录。同时,要注意处理...

    android 通过MediaStore 数据库获取本地指定文件夹下的视频文件 可以排序并删除文件

    本文将深入探讨如何使用MediaStore数据库来获取本地指定文件夹下的视频文件,并进行排序和删除操作。我们将重点关注如何利用Kotlin语言实现这一功能。 首先,我们需要了解MediaStore.Video.Media类,它是MediaStore...

    Android查找指定目录下的视频或图片

    `File`类提供了创建、读取、删除文件以及检查文件属性的方法。 2. **存储权限**: 从Android 6.0(API级别23)开始,应用需要在运行时请求存储权限。你需要在`AndroidManifest.xml`中声明`READ_EXTERNAL_STORAGE`...

    android用遍历删除指定类型的文件

    总之,在Android中遍历和删除指定类型的文件是一项常见的任务,涉及到文件操作、遍历算法以及条件判断。开发者需要了解`java.io.File`类的使用,并根据需要处理不同类型的文件。在实际应用中,还应注意权限管理以及...

    android七牛云本地获取token并上传文件和删除文件

    本教程将详细讲解如何在Android应用中实现本地获取七牛云的Token,以及如何进行文件的上传和删除操作,无需依赖业务服务器的协助。 首先,我们需要在七牛云官网上注册一个账号,并创建一个存储空间(Bucket),这是...

    android文件系统浏览器

    例如,使用`java.io.File`类来获取目录列表,创建、删除文件或目录,以及进行文件重命名。同时,`java.nio.file.Files`类提供了更强大的文件操作接口,如异步读写、文件属性查询等。 在设计用户界面时,通常会采用...

    安卓SD卡文件管理更新信息相关-androidstudio开发获取手机文件系统.rar

    下面我们将深入探讨如何在Android Studio中进行SD卡文件的管理,并结合“android studio 开发获取手机文件系统”这个主题,讲解相关知识点。 首先,了解Android的存储体系结构至关重要。Android设备有两种主要的...

    Android文件目录选择器

    你可以使用这个类来创建、删除、重命名文件或目录,以及列出子文件和目录。 6. **图片显示**: 描述中提到的“几张图片”,可能是指在选择器界面展示的图标或者预览图。在Android中,可以使用ImageView控件显示...

    android中文件的保存与读取

    在Android系统中,文件的保存和读取...总结起来,Android文件系统的使用涵盖了内部存储和外部存储,涉及文件的创建、读写以及权限控制等多个方面。开发者需要根据应用需求选择合适的数据存储方式,并注意安全性和效率。

    基于Android Studio开发手机本地文件浏览器

    在这个项目中,我们使用Android Studio来开发一个手机本地文件浏览器,它允许用户浏览并操作设备上的文件和目录。 在Android中,访问文件系统需要遵循特定的权限模型。在Android 4.0(API级别14)到6.0(API级别23...

    Android本地数据存储之文件存储读写

    本文将深入探讨Android系统中的文件存储机制,包括如何读取、写入、重写和删除.txt格式的文件。理解这些知识点对于任何Android开发者来说都极其必要。 一、Android文件存储基础 Android提供了多种本地数据存储方式...

    读取Android .db文件

    总结来说,读取Android的.db文件涉及到获取数据库文件、使用SQLite查看器以及掌握基本的SQL知识。MWYISSQLiteSpy等工具提供了便捷的方式,使开发者和非开发者都能轻松地查看和管理Android应用程序的数据库。

    Android代码-iconFile带图标的文件资源管理器.zip

    1. **获取文件权限**:在AndroidManifest.xml中添加读写权限`&lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&gt;`和`&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL...

    安卓SD卡文件管理更新信息相关-Android7.0自定义文件管理器获取文件夹路径.rar

    这个压缩包“Android7.0 自定义文件管理器 获取文件夹路径.rar”包含了关于如何在新版本的Android系统上开发自定义文件管理器并获取文件夹路径的相关信息。以下是对这个主题的详细阐述: 1. **Android 7.0的存储...

    Android 本地文件的存储和读取

    本文将深入探讨Android如何进行文件操作,包括创建、读取、修改和删除本地文件,以便开发者能够高效地管理应用程序的数据。 首先,Android提供了多种存储方式,如内部存储、外部存储以及SQLite数据库。内部存储通常...

Global site tag (gtag.js) - Google Analytics