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
分享到:
相关推荐
get-platformio.py get-platformio.py get-platformio.py get-platformio.py
MySQL Connector/J 8.0.13 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包包含的“mysql-connector-java-8.0.13.jar”是这个驱动的实现文件,而...
标题中的"protobuf--java-3.2.0.jar & protoc-3.2.0-windows-x86_32.exe" 提及了两个关键组件,它们分别是Protocol Buffers(protobuf)的Java运行库和编译器。Protocol Buffers是Google开发的一种数据序列化协议,...
在Java Web开发中,文件的上传与下载是常见的功能需求,尤其在构建动态网站或Web应用程序时。本教程将深入讲解如何使用Java Servlet、Apache Commons IO库(版本2.4)以及Apache Commons FileUpload库(版本1.3)来...
它提供了全面的代码编辑、调试、构建、性能优化等功能,支持各种Android平台和设备,帮助开发者高效地创建高质量的应用程序。 二、版本信息 “android-studio-2021.3.1.17-windows.exe”是Android Studio的Dolphin...
MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序的JDBC(Java Database Connectivity)驱动程序。"mysql-connector-java-8.0.21.zip"是一个包含MySQL ...
draw.io是一款广泛使用的开源流程图绘制软件,其24.7.17版本是专为Windows操作系统设计的桌面应用程序。作为Visio的替代工具,draw.io具备强大的绘图功能,特别适用于绘制流程图、UML图表以及其他多种类型的图表。它...
在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...
标题 "aspose-words-20.2-android.via.java.zip" 暗示这是一个针对Android平台的Java库,用于处理Microsoft Word文档并将其转换为PDF格式。Aspose.Words是Aspose公司提供的一个强大的文档处理组件,它允许开发者在...
Apache Commons IO 是一个Java库,专门用于处理输入/输出(I/O)操作。这个库提供了大量的实用工具类,简化了常见的文件、流、过滤器、读写操作等任务。"commons-io-2.11.0.rar"是Apache Commons IO库的版本2.11.0的...
MySQL Connector/J是MySQL数据库系统与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序,使得Java开发者能够通过编写Java代码来访问、操作MySQL数据库。在这个特定的...
mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。
本文将详细介绍一个Java程序中的功能模块——如何实现目录多文件上传,并利用Java IO流进行文件复制操作。该功能可以实现在用户选择一个目录后,自动扫描并上传该目录下的所有文件及其子文件夹,最终达到完整备份或...
新建一个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的核心特点**: - **多语言...
mysql-connector-java-5.1.42-bin.jar 官网下载的驱动
Commons IO是Java编程语言中的一个开源库,由Apache软件基金会维护。这个库提供了一系列与输入/输出相关的实用工具类,补充了Java标准库中的IO功能。"commons-io-2.8.0.rar"是一个包含 Commons IO 库版本2.8.0的...
在Java Web开发中,文件上传是一项常见的功能,用于允许用户上传图片、文档等文件到服务器。Apache Commons FileUpload和Commons IO是两个非常重要的库,它们为Java提供了强大的文件上传和处理能力。在这个场景中,...