排序式列出指定目录下的指定文件/夹——《Thinking in Java》随笔027
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了排序式列出指定目录下的指定文件/夹——《Thinking in Java》随笔027,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2195字,纯文字阅读大概需要4分钟。
内容图文
![排序式列出指定目录下的指定文件/夹——《Thinking in Java》随笔027](/upload/InfoBanner/zyjiaocheng/1123/ee176b12ddf644449d183cd9aa9dc24b.jpg)
1 // : SortedDirList.java 2 // / 此程序可以对一个目录进行列出。 3 4 package c10; 5 6 import java.io.File; 7 import java.io.FilenameFilter; 8 import java.util.Arrays; 9 import java.util.Comparator; 10 11 /** 12 * @time: 上午11:52:04 13 * @date: 2017年4月29日 14 * @auther: skyfffire 15 * @version : v0.1 16 * 17 * 可排序式读入文件目录,传值sort=-1为降序 18 * 传值sort=1为传统升序(按照ASCII码) 19 */ 20 public class SortedDirList { 21 private File path = null; 22private String[] list = null; 23privateint sort = 1; 2425/**26 * 27 * @param filesPath 要读取的路径 28 * @param afn 过滤字符,如果为null则不过滤 29 * @param sort 排序方式,-1降序,1升序 30*/31public SortedDirList(final String filesPath, 32final String afn, int sort) { 33this.sort = sort; 34 path = new File(filesPath); 3536if (afn == null) { 37 list = path.list(); 38 } else { 39 list = path.list(new FilenameFilter() { 40 @Override 41publicboolean accept(File dir, String name) { 42 String n = new File(name).getName(); 4344return n.indexOf(afn) != -1; 45 } 46 }); 47 } 4849/**50 * 手动实现sort方法的内部排序机制,这样可以动态地进行升/降排序 51*/52 Arrays.sort(list, new Comparator<String>() { 53 @Override 54publicint compare(String o1, String o2) { 55return sort * (o1.compareTo(o2)); 56 } 57 }); 58 } 5960/**61 * 用于打印list 62*/63void print() { 64for (String nowPath : list) { 65 System.out.println(nowPath); 66 } 67 } 6869/**70 * @return the sort 71*/72publicint getSort() { 73return sort; 74 } 7576/**77 * @param sort the sort to set 78*/79publicvoid setSort(int sort) { 80this.sort = sort; 81 } 8283publicstaticvoid main(String[] args) { 84// 不进行过滤85 SortedDirList sdl = new SortedDirList("C:\\", null, 1); 8687 sdl.print(); 88 } 89} 9091///:~
我以自己的C盘根目录为例,升序排序的结果为:
$Recycle.Bin
BOOTNXT
Documents and Settings
OneDriveTemp
PerfLogs
Program Files
Program Files (x86)
ProgramData
QMDownload
Recovery
SymCache
System Volume Information
Users
Windows
bootmgr
pagefile.sys
swapfile.sys
降序排序的结果为:
swapfile.sys
pagefile.sys
bootmgr
Windows
Users
System Volume Information
SymCache
Recovery
QMDownload
ProgramData
Program Files (x86)
Program Files
PerfLogs
OneDriveTemp
Documents and Settings
BOOTNXT
$Recycle.Bin
可以只改动一个正负号就能快速地修改排序方式。
原文:http://www.cnblogs.com/skyfffire/p/6784901.html
内容总结
以上是互联网集市为您收集整理的排序式列出指定目录下的指定文件/夹——《Thinking in Java》随笔027全部内容,希望文章能够帮你解决排序式列出指定目录下的指定文件/夹——《Thinking in Java》随笔027所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。