android开发中如何实现sdcard扫描

比如说,打开程序进入第一个页面,里面有个名字叫:TXT文件扫描的按钮,点击之后会对sdcard进行扫描,扫描完后通过ListView把sdcard里面的txt文件列出来。... 比如说,打开程序进入第一个页面,里面有个名字叫:TXT文件扫描 的按钮,点击之后会对sdcard进行扫描,扫描完后通过ListView把sdcard里面的txt文件列出来。求实现扫描的代码 展开
 我来答
匿名用户
2013-06-04
展开全部
public class TestActivity extends Activity {
/** Called when the activity is first created. */
Button button1;
List<String> fileList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
fileList = new ArrayList<String>();
readFile();
for(int i=0 ; i<fileList.size(); i++) {
Log.i("syso", fileList.get(i).toString());
}
}
});
}

private void readFile() {
final File[] file = new File("/etc").listFiles();//设定扫描路径
readFile(file);
}
private void readFile(final File[] file) {
for(int i=0 ; file!= null && i<file.length ;i++) {
//判读是否文件以及文件后缀名
if(file[i].isFile()/* && file[i].getName().endsWith("xml")*/){
fileList.add(file[i].toString());
}
//如果是文件夹,递归扫描
else if(file[i].isDirectory()) {
final File[] newFileList = new File(file[i].getAbsolutePath()).listFiles();
readFile(newFileList);
//通过多线程来加速
/* new Thread(new Runnable() {
public void run() {
readFile(newFileList);
}
}).start();*/
}
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式