Android--查找程序根目录下所有文件/Java IO操作
2013-02-02 19:31
701 查看
本实例实现的是浏览根目录下所有的文件,包含子目录下所有的文件,类似于实现“Windows资源管理器”,首先,先看下程序的实现截图:
这个程序应用的是ListActivity和JavaIO的知识。
首先,让我们先看下主程序的布局文件定义:
其中,ListView中的各个子TextView也是由程序提供,布局文件如下:
主程序的实现代码如下:
这个程序应用的是ListActivity和JavaIO的知识。
首先,让我们先看下主程序的布局文件定义:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/mPath" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5px" android:textSize="18sp" android:textColor="@drawable/blue" /> <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
其中,ListView中的各个子TextView也是由程序提供,布局文件如下:
<?xml version="1.0" encoding="utf-8"?> <TextView android:id="@+id/text1" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" />
主程序的实现代码如下:
public class EX04_21 extends ListActivity { /* 对象声明 items:存放显示的名称 paths:存放文件路径 rootPath:起始目录 */ private List<String> items=null; private List<String> paths=null; private String rootPath="/"; private TextView mPath; /** Called when the activity is first created. */ @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); /* 加载main.xml Layout */ setContentView(R.layout.main); mPath=(TextView)findViewById(R.id.mPath); getFileDir(rootPath); } /* 取得文件架构的method */ private void getFileDir(String filePath) { /* 设定目前所在路径 */ mPath.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("Back to "+rootPath); paths.add(rootPath); /* 第二笔设定为[回上层] */ items.add("Back to ../"); paths.add(f.getParent()); } /* 将所有文件加入ArrayList中 */ for(int i=0;i<files.length;i++) { File file=files[i]; items.add(file.getName()); paths.add(file.getPath()); } /* 声明一ArrayAdapter,使用file_row这个Layout, 并将Adapter设定给此ListActivity */ ArrayAdapter<String> fileList = new ArrayAdapter<String>(this,R.layout.file_row, items); setListAdapter(fileList); } /* 设定ListItem被按下时要做的动作 */ @Override protected void onListItemClick(ListView l,View v,int position,long id) { File file = new File(paths.get(position)); if(file.canRead()) { if (file.isDirectory()) { /* 如果是文件夹就再进去读取 */ getFileDir(paths.get(position)); } else { /* 如果是文件,则弹出AlertDialog */ new AlertDialog.Builder(this) .setTitle("Message") .setMessage("["+file.getName()+"] is File!") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { } }).show(); } } else { /* 弹出AlertDialog显示权限不足 */ new AlertDialog.Builder(this) .setTitle("Message") .setMessage("权限不足!") .setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int which) { } }).show(); } } }
相关文章推荐
- Android--查找程序根目录下所有文件/Java IO操作
- 查找程序根目录下所有文件(Java IO与ListActivity的结合)
- 利用IO的知识,实现一个程序列出某个目录下的所有的”.java”文件。
- Android学习之查找程序根目录下的所有文件
- 查找程序根目录下所有文件-Java i/o与ListActivity
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
- 编写一个程序,将djava目录下的所有.java文件复制到djad目录下,并将原来文件的扩展名从.java改为.jad
- 【IO面试题】文件操作,如何列出某个目录下的所有文件?如何列出某个目录下的所有子目录?写个简单的例子
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- java 实现 文件操作工具集。包括文件、目录树的拷贝、删除、移动、查找等工具函数
- 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- Java IO File 通过递归程序完成删除某个文件夹(包括里面所有文件)
- 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。
- Java_IO_列出一个目录的所有文件和目录
- 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad
- Java入门程序,读取文件夹下所有目录和文件列表
- javaIO_将一个目录下的文件拷贝到另一个目录下(边读边写操作)
- C# 自动查找文件内容(正则使用、获取目录下所有文件、多线程、日志记录,文件操作)
- 面试题 编写一个程序,将e:\project\java目录下的所有.java文件复制到 e:\project\jad目录下,并将原来文件的扩展名从.java改为.jad。
- java程序的递归算法,列出某个目录下的所有子目录和文件