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();*/
}
}
}
}
/** 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();*/
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询