file.listFiles()按文件大小、名称、日期排序方法

原文地址:http://blog.csdn.net/dezhihuang/article/details/53287602

按照文件大小排序

public static void orderByLength(String fliePath) {
    List<File> files = Arrays.asList(new File(fliePath).listFiles());
    Collections.sort(files, new Comparator<File>() {
        public int compare(File f1, File f2) {
            long diff = f1.length() - f2.length();
            if (diff > 0)
                return 1;
            else if (diff == 0)
                return 0;
            else
                return -1;
        }

        public boolean equals(Object obj) {
            return true;
        }
    });
    for (File f : files) {
        if (f.isDirectory()) continue;
        System.out.println(f.getName() + ":" + f.length());
    }
}

按照文件名称排序

public static void orderByName(String fliePath) {
    List files = Arrays.asList(new File(fliePath).listFiles());
    Collections.sort(files, new Comparator<File>() {
        @Override
        public int compare(File o1, File o2) {
            if (o1.isDirectory() && o2.isFile())
                return -1;
            if (o1.isFile() && o2.isDirectory())
                return 1;
            return o1.getName().compareTo(o2.getName());
        }
    });
    for (File f : files) {
        System.out.println(f.getName());
    }
}    

按照日期排序

public static void orderByDate(String fliePath) {
    File file = new File(fliePath);
    File[] fs = file.listFiles();
    Arrays.sort(fs, new Comparator<File>() {
        public int compare(File f1, File f2) {
            long diff = f1.lastModified() - f2.lastModified();
            if (diff > 0)
                return 1;
            else if (diff == 0)
                return 0;
            else
                return -1;
        }

        public boolean equals(Object obj) {
            return true;
        }

    });
    for (int i = fs.length - 1; i > -1; i--) {
        System.out.println(fs[i].getName());
        System.out.println(new Date(fs[i].lastModified()));
    }
}
时间: 2024-11-12 08:25:59

file.listFiles()按文件大小、名称、日期排序方法的相关文章

java按文件大小、名称、日期排序方法

代码如下: //java按文件大小.名称.日期排序 //java按文件大小.名称.日期排序方法 import java.io.*; import java.util.*; public class FileOrder{ //按照文件大小排序 public static void orderByLength(String fliePath) { List< File> files = Arrays.asList(new File(fliePath).listFiles()); Collectio

java file.listFiles()按文件名称、日期、大小排序

1:按 文件名称 排序是什么规则呢? windows的命名规则是,特殊字符(标点.符号)> 数字 > 字母顺序 > 汉字拼音.首字规则,首字相同看第二个,依次类推… 例如:全是数字的情况,100<200<300 :111<121<131; 111<112<113; 2:按 文件日期 排序是什么规则呢? 按 文件日期 排序分两种: (1)按文件创建日期排序(比较特殊)(2)按文件修改日期排序文件创建日期排序:也就字面意思啦. 文件修改日期排序:按照文件修

JavaScript按日期排序之灵活排序

上代码: 1 var dataContent = [ 2 { 3 ID: "1", 4 hobbit: "去音乐", 5 sport: "在篮球", 6 movies: "功夫", 7 sender: "elson", 8 received: "2017-08-18 13:23:21", 9 sex: "man", 10 age: "21" 11

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

Basic4Android中按日期排序文件

#Region Project Attributes #ApplicationLabel: SortByDateFileTest #VersionCode: 20140627 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False

解决phpmyadmin上传文件大小限制的配置方法

解决phpmyadmin上传文件大小限制的配置方法 phpmyadmin导入SQL文件时涉及到phpmyadmin上传文件大小限制问题,默认phpmyadmin上传文件大小为2M,如果想要phpmyadmin上传超过2M大文件,就需要修改phpmyadmin上传文件的大小配置或者将大文件分几批上传,相对来说修改phpmyadmin上传文件大小的限制来得方便很多.解决phpmyadmin上传文件大小限制问题涉及修改php.ini配置文件和phpmyadmin配置文件. 修改phpmyadmin上传

java中File.listFiles(FileFilter) FileFilter的使用

在我们调用java库中的File.listFiles()可以列出所有所有文件.其实还有一个方法可以对文件进行过滤,而其中需要实现接口FileFilter.jdk的文档中的说明看的不是很懂.在网上搜索了一下,把具体的使用方法和大家共享 public class myFileFilter implements FileFilter{              @Override           public boolean accept(File pathname) {             

java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)

java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io.File.listFiles(FilenameFilter filter)方法的声明: public File[] listFiles(FilenameFilter filter) 参数 filter - 文件名过滤器 返回值 该方法返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的

CUDA(六). 从并行排序方法理解并行化思维——冒泡、归并、双调排序的GPU实现

在第五讲中我们学习了GPU三个重要的基础并行算法: Reduce, Scan 和 Histogram,分析了 其作用与串并行实现方法. 在第六讲中,本文以冒泡排序 Bubble Sort.归并排序 Merge Sort 和排序网络中的双调排序 Bitonic Sort 为例, 讲解如何从数据结构课上学的串行并行排序方法转换到并行排序,并附GPU实现代码. 在并行方法中,我们将考虑到并行方法需要注意的特点进行设计,希望大家在读完本文后对GPU上并行算法的设计有一些粗浅的认识.需注意的特点如下: 1