1. 范例说明
大家都应该用过操作系统的文件搜索功能吧!它可以快速协助我们找到想要的文件。如果要在手机制作一个文件搜索功能,又该如何实现呢?其实这个功能并不难,Java I/O的API中提供了Java.io.File对象,只要利用File对象的方法,再搭配Android的EditText、TextView等对象,就可以轻松做出一个简单的手机文件搜索引擎。
该范例中使用EditText、Button和TextView3种对象来实现此功能,用户将要搜索的文件名字或关键字输入到EditText中,单击Button后,程序会在根目录中寻找符合的文件,并将搜索结果显示于TextView中,如果找不到符合的文件,则显示“找不到文件”。
2. 运行结果
3. 编写代码
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); /* 载入main.xml Layout */
setContentView(R.layout.main); /* 初始化对象 */
mKeyword = (EditText) findViewById(R.id.mKeyword);
mButton = (Button) findViewById(R.id.mButton);
mResult = (TextView) findViewById(R.id.mResult); /* 将mButton加入onClickListener */
mButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) { /* 取得输入的关键词 */
String keyword = mKeyword.getText().toString();
if (keyword.equals("")) {
mResult.setText("请勿输入空白的关键词!!");
} else {
mResult.setText(searchFile(keyword));
}
}
});
} /* 搜索文件的method */
private String searchFile(String keyword) {
String result = "";
File[] files = new File("/").listFiles();
for (File f : files) {
if (f.getName().indexOf(keyword) >= 0) {
result += f.getPath() + "\n";
}
}
if (result.equals(""))
result = "找不到文件!!";
return result;
}
4. 扩展学习与作业
该范例只是搜索的根目录下的文件或文件夹,如果要搜索所有的文件,则需要使用File.isDirectory()一层一层搜索下去。
Android 文件操作大全
http://www.eyeandroid.com/thread-10157-1-1.html
5.视频讲解
http://www.eyeandroid.com/thread-10761-1-1.html
- 大小: 35.8 KB
分享到:
相关推荐
在Java Web开发中,文件的上传与下载是常见的功能需求,尤其在构建动态网站或Web应用程序时。本教程将深入讲解如何使用Java Servlet、Apache Commons IO库(版本2.4)以及Apache Commons FileUpload库(版本1.3)来...
MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序的JDBC(Java Database Connectivity)驱动程序。"mysql-connector-java-8.0.21.zip"是一个包含MySQL ...
在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...
标题中的“eclipse-java-linux-gtk-x86_64.tar.gz”指示这是一个为Linux操作系统设计的64位版本Eclipse集成开发环境(IDE),基于GTK+图形库。Eclipse是一款广泛使用的开源软件,主要用于Java编程,但也支持其他语言...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,简化了常见的文件、流、过滤器、读写操作等任务。"commons-io-2.11.0.rar"是Apache Commons IO库的版本2.11.0的...
Android Studio Hedgehog 2023.1.1 Patch 2(android-studio-2023.1.1.28-cros.deb)适用于Chrome OS系统。
本文将详细介绍一个Java程序中的功能模块——如何实现目录多文件上传,并利用Java IO流进行文件复制操作。该功能可以实现在用户选择一个目录后,自动扫描并上传该目录下的所有文件及其子文件夹,最终达到完整备份或...
2. **快速原型设计**:内置布局编辑器允许实时预览UI,并支持拖放组件,方便开发者快速构建应用界面。 3. **多版本兼容性**:支持多种Android版本和设备,便于测试和优化应用的兼容性。 4. **全面的调试工具**:...
新建一个servlet: FileUpload.java用于文件上传: package com.drp.util.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet....
其次,`commons-io-1.3.2.jar`是Apache Commons IO库的一部分,这是一个通用的IO(Input/Output)操作工具集,为Java开发者提供了大量实用的IO操作方法。在处理文件上传时,`commons-fileupload`可能会依赖`commons-...
Apache Commons FileUpload与Apache Commons IO是Java开发中用于处理文件上传功能的重要库。这两个库在Web应用程序中尤其常见,因为它们提供了处理HTTP请求中的多部分数据(如表单上传的文件)的便捷方法。 `...
在“graalvm-ce-java8-linux-amd64-21.0.0.2.tar.gz”这个文件中,我们看到的是GraalVM社区版(Community Edition)针对Java 8、Linux操作系统和AMD64架构的一个特定版本。 1. **GraalVM的核心特点**: - **多语言...
压缩包内的文件 "android-extend-release.aar" 是一个 Android 库的二进制格式,它包含了编译后的 Java 类、资源文件、AndroidManifest.xml 等内容。`.aar` 文件是 Android 库项目的标准打包格式,用于在 Gradle ...
IntelliJ IDEA是一款流行的Java IDE,特别适合Android应用开发。以下是这两个文件的具体含义和相关知识点: 1. android.ipr:这是一个IntelliJ IDEA项目的主配置文件,它包含了关于项目的基本信息,如项目名称、...
"Android NDK开发指南-android.mk文件" Android NDK 是 Android 操作系统中的一种开发工具...Android.mk 文件是 NDK 中的一个重要组件,用于描述编译系统的配置,使得开发者可以轻松地编译和生成 Android 应用程序。
drawio-desktop is a diagramming and whiteboarding desktop app based on Electron that wraps the core draw.io editor.
MySQL Connector/J是MySQL数据库在Java平台上使用的驱动程序,它提供了Java应用程序与MySQL数据库之间的连接功能。这个`mysql-connector-java-5.1.36.tar.gz`文件是一个针对Linux操作系统的压缩包,包含了运行在...
MySQL Connector/J 5.1.37 是 MySQL 数据库与 Java 应用程序之间的关键桥梁,它是 MySQL 官方提供的一个驱动程序,使得 Java 开发人员能够通过 JDBC(Java Database Connectivity)接口与 MySQL 数据库进行交互。...
Commons IO是Apache软件基金会开发的一个Java库,主要目的是提供对输入/输出操作的增强功能,以弥补Java标准库中的一些不足。"commons-io-2.4.jar"是这个库的一个版本,包含了各种实用的工具类,方便开发者处理文件...
mysql-connector-java-5.1.24-bin.jar 连接mysql数据库