1.声明变量
private List<String> file_name; private List<String> file_txt_path; private List<String> file_size;
2.获取SD卡路径并将其封装成文件
sd_path = Environment.getExternalStorageDirectory().getAbsolutePath();
new File(sd_path);
3.核心方法:
private void listFileTxt(File file){
File [] files = file.listFiles();
try{
for (File f : files) {
if (!f.isDirectory()){
if (f.getName().endsWith(".txt")){
//获取并计算文件大小
long size = f.length();
String t_size = "";
if (size <= 1024){
t_size = size + "B";
}else if (size > 1024 && size <= 1024 * 1024){
size /= 1024;
t_size = size + "KB";
}else {
size = size / (1024 * 1024);
t_size = size + "MB";
}
file_size.add(t_size);//文件大小
file_name.add(f.getName());//文件名称
file_txt_path.add(f.getAbsolutePath());//文件路径
}
}else if (f.isDirectory()){
//如果是目录,迭代进入该目录
listFileTxt(f);
}
}
}catch (Exception e){
e.printStackTrace();
}
}