android客户端代码:
一、文件选择
获取文件
public void getFiles(String path) {
tv.setText(path);
File f = new File(path);
// 得到所有子文件和文件夹
File[] tem = f.listFiles();
// 如果当前的目录不是在顶层目录,就把父目录要到files数组中的第一个
if (!path.equals(root)) {
files = new File[tem.length + 1];
System.arraycopy(tem, 0, files, 1, tem.length);
files[0] = f.getParentFile();
} else {
files = tem;
}
sortFilesByDirectory(files);
// 为ListActivity设置Adapter
setListAdapter(new Adapter(this, files, files.length == tem.length));
}
对文件排序
private void sortFilesByDirectory(File[] files) {
Arrays.sort(files, new Comparator<File>() {
public int compare(File f1, File f2) {
return Long.valueOf(f1.length()).compareTo(f2.length());
}
});
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
File f = files[position];
if (!f.canR