Android 编程之入门开发文件夹管理器开发文件的过滤与排序-3

前面说了文件操作和主界面,接下来说说文件的过滤和排序,我们都知道在我们的设备里,不管是PC还是手机,总有一些我们

看不到的文件夹,那就是所谓的隐藏文件,大部分的隐藏文件,我们是没有权限操作的,所有对我们来说没必要,必须干掉,

还有就是给文件列表排序,方面查找,其实在现在的文件夹管理里,不知道大家有没有发现,就是在界面的最右或者最左边有

一个从A-Z竖向排列的选项,点击每个字母,它会跳到以那个字开头的文件列表项去,这是比较好用的一款东西,因为APP是之

前写的,也就没用到新式的东西了,咱们就说说粗糙的吧

文件字典排序:

package com.example.util ;
/**
 * 文件排序处理
 * @author Engineer-Jsp
 * @date 2014.10.27
 * */
import java.io.File;
import java.util.Comparator;
public class CustomComparator implements Comparator<File>{

	@Override
	public int compare(File pFile1, File pFile2) {
		/**
		 * 1.先比较文件夹 (文件夹在文件的顺序之上)2.以A-Z的字典排序3.比较文件夹和文件4.比较文件和文件夹
		 */
		if (pFile1.isDirectory() && pFile2.isDirectory()) {
			return pFile1.getName().compareToIgnoreCase(pFile2.getName());
		} else {
			if (pFile1.isDirectory() && pFile2.isFile()) {
				return -1;
			} else if (pFile1.isFile() && pFile2.isDirectory()) {
				return 1;
			} else {
				return pFile1.getName().compareToIgnoreCase(pFile2.getName());
			}
		}
	}
}

过滤隐藏文件:

package com.example.util ;
/**
 * 过滤隐藏文件
 * @author Engineer-Jsp
 * @date 2014.10.27
 *
 */
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;

public class CustomFileFilter implements FileFilter {
	public boolean accept(File dirName) {
		if(!dirName.getName().startsWith(".")){
		    return true ;
		}else{
			return false;
		}
	}
}

数据排序:

package com.example.util ;
/**
 * 数据排序
 * @author Engineer-Jsp
 * @date 2014.10.27
 *
 */
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class FileSort {
	public static File[] sortFile(File[] files) {
		List<File> listfile = Arrays.asList(files);
		Collections.sort(listfile, new CustomComparator());   //按照指定的规则进行一个排序
		File[] array = listfile.toArray(new File[listfile.size()]);
		return array;
	}
}

排序示例截图:

文件的排序和过滤到此就讲完了~谢谢

时间: 2024-11-05 16:08:58

Android 编程之入门开发文件夹管理器开发文件的过滤与排序-3的相关文章

Android 编程之入门开发文件夹管理器开发详细讲解-1

在我们的手持设备中,一般都会自带设备公司自己开发的文件管理系统.拍照系统之类的东东,今天我给大伙说说入门级开发的文件夹管理器,代码贼少 总共就6个类吧,没有夹杂其他外部应用,就是一个纯文件夹管理器 APP主要功能设计:文件复制.文件夹复制.批量文件/文件夹复制.删除文件.删除文件夹.批量删除文件/文件夹.文件分类.文件搜索暂时没有写, 有兴趣的可以自己写写 APP主要应用:DrawerLayout .ListView.Fragment.IO.序列化.文件过滤.文件排序.ActionBar.Ada

Android 编程之入门开发文件夹管理器开发抽屉与文件分类-4

在此文件夹管理APP里,我们可以尝试引用一些新的元素,在这里我给打击介绍一个叫抽屉的布局,QQ就用到了抽屉布局,不 过他们又在原有的基础上自己开发了新的抽屉布局,并且还蛮高大上的,顺便说说分类管理,这些都只是很初步的一些写法, 因为是前期写的,后期就没做完善了,适合一般入门级伙伴学习,首先给大家说说抽屉布局,还是以图形的方式介绍比较好 抽屉布局示例,点击红色方框按钮即可弹出抽屉布局,或者顺势向右划屏也可以弹出抽屉布局: 弹出布局: 文件管理文类: 图片分类: 音乐分类: 视频分类: 对后缀类型匹

Android 编程之入门开发文件夹管理器开发文件事件操作-2

上一篇博客,我们已经得到了文件夹列表,我们需要对文件列表子项添加事件,比如我们点击的是文件,就执行 打开操作,点击的是文件夹执行打开文件夹操作,遍历文件清单,以此类推直到最后一个是文件位置,关于文件 与文件夹的处理后面会讲到 在我的程序里,我写了一个类,对文件进行处理,FileOpreationUitl: package com.example.util; import java.io.File; import java.io.FileInputStream; import java.io.Fi

C#WinForm treeview 简单文件夹管理器 查看文件夹下的文件,子文件下的文件

1 查看的文件夹中的内容 2 UI 3 代码 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.IO; 7 using System.Linq; 8 using System.Text; 9 using System.Threading.Tasks; 10 usi

仿手机文件夹管理器

仿手机文件夹管理器,可以打开显示SD卡下是文件,可以进入下一级和返回上一级. 效果图: 关键代码入下: import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.ut

Android文件夹管理器源码实现

一.资源管理器介绍 现在在一些移动终端上面都会有自带的资源管理器,其实其并非是Android系统自带,而是手机产商与app开发商的合作而导致融合,借助第三方的开发软件预装在出厂的手机,是新时代下的另一个霸王条款,还不能自行删除,十分麻烦. 背景铺垫完毕,由于十分讨厌这种不公平的手段,为此自行写一个实现文件资源管理器,功能基本上实现,实用不美观,不喜勿喷! 二.实现函数详解 1.显示文件列表 /** * 扫描显示文件列表 * @param path */ private void showFile

文件夹管理器

1.文件管理器(NSFileManager) 1> 创建文件夹 创建所需的方法在头文件的声明: /* createDirectoryAtPath:withIntermediateDirectories:attributes:error: creates a directory at the specified path. If you pass 'NO' for createIntermediates, the directory must not exist at the time this

Android开发系列(十七):读取assets文件夹下的数据库文件

在做Android应用的时候,不可避免要用到数据库.可是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客攻克了我前面博客中写的一个小游戏的一个问题.另外也能够读取Raw文件夹下的数据库文件) 这就造成了一个问题.这个问题事实上非常好解决,解决方法例如以下: 我们首先把有数据的数据库文件放在assets资源文件夹下边,然后在apk应用启动的时候,把assets文件夹下的数据库文件的数据写入到真机的内存中去. 下边開始我们

linux:文件及文件夹管理

http://blog.csdn.net/pipisorry/article/details/39854265 查看用户的信息 pika:~$id pikauid=1000(pika) gid=1000(pika) groups=1000(pika),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare),125(docker) 文件夹与路径 cd:变换目弽pwd:显示弼前目弽mkdir:建立一个新的文