效果:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/mPath"
android:layout_width="fill_parent"
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>
在res/layout/下新建一个file_row.xml
<?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="20px"
android:textSize="14sp"/>
package i.o.and.listActiviy;
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.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class IOAndListActivity extends ListActivity {
private List<String> items=null;
private List<String> paths=null;
private String rootPath="/";
private TextView mPath;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**载入 main.xml*/
setContentView(R.layout.main);
/**通过id找到TextView组件*/
mPath=(TextView)findViewById(R.id.mPath);
getFileDir(rootPath);
}
/**获得文件路径构架*/
public 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("返回"+rootPath);
paths.add(rootPath);
/**返回上一层*/
items.add("返回../");
paths.add(f.getParent());
}
/**将文件名字和路径添加到List当中*/
if(files!=null){
for(int i=0;i<files.length;i++){
File file=files[i];
items.add(file.getName());
paths.add(file.getPath());
}
}
/**使用layout.file_row,items将Adapter设置给ListActivity*/
ArrayAdapter<String> fileList=new ArrayAdapter<String>(this,R.layout.file_row,items);
setListAdapter(fileList);
}
/**设置items被点击的事件*/
protected void onListItemClick(ListView l,View v,int position,long id){
File file=new File(paths.get(position));
if(file.isDirectory()){
/**如果是文件夹就进去*/
getFileDir(paths.get(position));
}else{
/**如果是文件就告诉用户是文件*/
new AlertDialog.Builder(this).setIcon(R.drawable.icon).setTitle("["+file.getName()+"] 是文件!").setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).show();
}
}
}

- 大小: 20.1 KB
分享到:
相关推荐
第二章:HTML中表单的使用 第三章:XML技术及Java Script技术在网页中的使用 第四章:CGI介绍及表单提交方式 第五章:简单的 LED 测试 第六章:A/D测量及在网页中的显示 第七章: 基于 ZC301摄像头开源视频...
第二章:MyEclipse的基本使用; 第三章:Java基础语法; 第四章:数组的应用; 第五章:面向对象的Java编辑; 第六章:接口与内部类; 第七章:集合的应用; 第八章:异常和反射; 第九章:初识AWT和Swing; 第十章...
第二章:Java编程基础 这一章主要讲解了Java语言的基本概念,包括数据类型、变量、运算符、流程控制语句等。通过实例演示,使读者能够快速上手Java编程。 第三章:MyEclipse 6的集成开发环境 详细介绍了MyEclipse 6...
2. **第二章:Java环境配置** - 下载与安装JDK - 设置环境变量:JAVA_HOME、PATH、CLASSPATH - 验证Java安装:`java -version` 和 `javac -version` 3. **第三章:Java基础语法** - 变量、数据类型:基本类型...
这本书的第二版深入探讨了如何使用Java实现TCP/IP协议栈的socket接口,为开发者提供了全面的理论知识和实践指导。 首先,我们需要理解TCP/IP模型,它是互联网通信的基础,包括四层:应用层、传输层、网络层和链路层...
3. **Java 输入/输出**:讲解I/O流的概念,包括文件操作、网络通信等。 4. **流程控制**:涉及条件语句、循环语句等控制程序执行流程的语法。 5. **类及类的构造**:深入理解类的定义、实例化和构造函数的使用。 6. ...
本章节将深入探讨《Java语言程序设计》中关于第6章输入输出流的知识点,结合提供的源代码文件,我们可以看到以下几个关键主题: 1. **基础I/O流**:Java中的I/O流被设计为类层次结构,分为字节流(处理单个字节)和...
在深入探讨Java语言程序设计教程中第七章的内容之前,首先需要了解Java中的I/O操作是程序与外部世界交换数据的主要方式,无论是文件数据、网络数据还是用户输入输出。I/O的全称是Input/Output,指的是计算机系统与...
2. **第二章:环境搭建** - 教授如何下载和安装Java Development Kit (JDK),配置Java环境变量,以及使用集成开发环境(IDE)如Eclipse或IntelliJ IDEA。 3. **第三章:Java语法基础** - 讲解Java的基本语法,包括...
第二章:Java环境搭建 这一章详细阐述了如何安装Java Development Kit (JDK) 和设置环境变量,为后续的开发工作打下基础。 第三章:基本语法 讲解了Java的变量、数据类型、运算符、流程控制语句(如if-else、switch...
第二章:Java语法基础 涵盖Java的基本数据类型、变量、运算符、流程控制语句(如if条件语句、for循环和while循环),以及如何编写简单的Java程序。 第三章:面向对象编程 这是Java的核心特性。将讲解类、对象的概念...
**第二章:Java环境配置** 在开始编程之前,你需要安装Java Development Kit (JDK) 并设置好环境变量。本章将指导你如何下载JDK,配置Java的PATH和JAVA_HOME环境变量,以及验证Java是否安装成功。 **第三章:Java...
**第二章:Java基本语法** 这一章深入讲解了Java的语法基础,包括数据类型(如整型、浮点型、字符型、布尔型)、变量的声明与赋值、常量、运算符、流程控制语句(如if-else、switch-case、for、while循环)以及方法...
Java 课程的第七章主要讲解的是Java中的输入输出(I/O)处理,这是Java编程中一个非常关键的领域,尤其对于数据的读取、存储和传输。本章内容包括流的概念、字节流和字符流的层次结构、转换流、输入输出类的分类、...
第二章:JAVA环境搭建 这一章将详细讲解如何在不同操作系统上安装JAVA开发工具包(JDK),配置JAVA环境变量,以及如何使用命令行工具如javac和java进行编译和运行JAVA程序。 第三章:JAVA语法基础 这部分涵盖了JAVA...
- **第12章:Java I/O系统**:分析Java中文件输入输出的基本原理和高级特性。 - **第13章:并发编程**:讲解多线程编程的基本概念、线程安全问题及解决方案。 - **第14章:图形用户界面与Applet**:介绍Swing/AWT...
【ACCP5.0 S1 Java第二章作业答案】是一个针对学习ACCP5.0(Accelerated Certified Computer Professional 5.0)课程第一学期(S1)Java编程的学生的资源集合,主要涵盖了Java语言的基础知识及其应用。这个压缩包...