`
yy_hards
  • 浏览: 32299 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java 读取本地文件夹里面的文件,并排序

阅读更多
先定义一个类。用于对文件排序
class SortFile {
	public  long size;  
	public  long date;  
	public  String name;  
	public SortFile(String name, long date, long size) {    
		this.name = name;    
		this.date = date;     
		this.size = size;  
	}

	public static SortFile[] sort(SortFile[] src, String mark, boolean rule) {   
		if (rule) {//升序 
			
			for (int i = src.length; i > 1; i--) {   
				for (int j = 0; j < i - 1; j++) {     
					boolean change = false;        
					if (mark.equals("name")) {        
						if (src[j].name.compareTo(src[j + 1].name) > 0)  {  
							change = true;         
						} 
					}
					else if (mark.equals("date")) {  
							
							if (src[j].date  > src[j + 1].date) {       
								change = true;         
							} 
					}
					else {           
							if (src[j].size > src[j + 1].size)  {   
							change = true;            
							}
					}              
					if (change) {           
							SortFile temp = src[j];  
							src[j] = src[j + 1];      
							src[j + 1] = temp;       
					}              
				}         
			} 
		}		
				
		else {    //降序  
			for (int i = src.length; i > 1; i--) {   
				for (int j = 0; j < i - 1; j++) {     
					boolean change = false;        
					if (mark.equals("name")) {        
						if (src[j].name.compareTo(src[j + 1].name) < 0)  {  
							change = true;         
						} 
					}
					else if (mark.equals("date")) {  
							
						if (src[j].date  < src[j + 1].date) {       
								change = true;         
							} 
					}
					else {           
							if (src[j].size < src[j + 1].size)  {   
							change = true;            
							}
					}              
					if (change) {           
							SortFile temp = src[j];  
							src[j] = src[j + 1];      
							src[j + 1] = temp;       
					}              
				}         
			}      
		}      
		return src;    
								
	}
		




//获得文件列表
ArrayList al = new ArrayList();
		File f = new File("E:\\test");
		String[] names = f.list();
		for (int i = 0; i < names.length; i++) { 
			File fs = new File(f, names[i]);
						
						SortFile sf = new SortFile(names[i],fs.lastModified(), fs.length()); 
			al.add(sf);		}
//转换成数组
SortFile[] sfSrc = new SortFile[al.size()];
		
		
		for(int i=0;i<al.size();i++){
			sfSrc[i] = (SortFile) al.get(i);
			
			System.out.println(sfSrc[i].name+"   "+sfSrc[i].size+"     "+sfSrc[i].date);
		}
//按 date ,name ,size 排序

SortFile[] forName = SortFile.sort(sfSrc,"date",true);
//true为升序 ,false为降序

		for(int i=0;i<forName.length;i++){
			System.out.println(forName[i].name+"    "+forName[i].size+"    "+forName[i].date);
		}

分享到:
评论

相关推荐

    java文件夹按时间、大小等排序

    java文件夹排序,按时间、大小等排序。。。。。。

    从文件夹里读取图片文件排序效果

    以往的目录树在实现的时候,总是用嵌套循环的方式来读出数据库中的树形结构。非常的浪费资源,在实现目录树编辑的时候很简单。

    JAVA上百实例源码以及开源项目

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    ACGSort:Java实用程序可根据文件名对本地文件进行排序

    漫画文件命名规则本程序没有什么高级数据库或者机器学习,也不会去读取文件内容。单纯是找[]中间的文字作为作者名。文件名请按照如下规则: 单行本:[作者名]作品名 同人志:(发行的展会*)[社团名(作者名1,作者名2...

    JAVA上百实例源码以及开源项目源代码

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    6个JAVA源代码实验

    1.从命令行输入员的信息 ...5.所有企业员工的资料放入到指定文件夹,每一行有员工作息,从文件中读取这些资料,构建成相对应的员工对象并输出到屏幕上。 6.在第五题的基础上对员工作息进行增加,删除,修改员工作息。

    基于java实现的数据库管理系统.7z

    相当于把.java编译成了.class,再读取dbf文件,执行实体对dbf文件内容进行相应的操作,相当于 类加载执行,实现sql语句的解析执行的过程。 2.实现了create,insert,update,delete,select,多表查询,排序等简单...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例245 读取XML文件属性 310 第3篇 窗体与控件应用 第11章 窗体设计 314 11.1 设置窗体位置 315 实例246 控制窗体加载时的位置 315 实例247 设置窗体在屏幕中的位置 315 实例248 从上次关闭位置启动窗体 316 实例...

    JAVA 范例大全 光盘 资源

    实例80 删除文件夹和文件 201 实例81 文件复制与移动 204 实例82 多种方式读取文件内容 209 实例83 多种方式写文件 213 实例84 随机访问文件 216 实例85 追加文件内容 219 实例86 文件锁定 220 实例87 分割与...

    用SWT/JFace实现的资源管理器jExplorerV0.5(附源码)

    FileUtil中增加getFileCentent方法,用于读取文本文件内容 6. 重写AboutDialog 7. 重写ExitAction 8. 重写FileUtil中doPaste()方法,显著提高速度,修正拷贝文件时会导致文件不正常的严重Bug 9. 修正...

    设计模式实验java版

    7.某系统需要提供一个文件加密模块,加密流程包括三个操作,分别是读取源文件、加密、保存加密之后的文件。8.某信息咨询公司推出收费的在线商业信息查询模块,需要对查询用户进行身份验证,并记录查询日志,以便根据...

    aidejava源码-FileManager:私人定制的文件管理器

    读取apk文件的图标 自定义selector实现ImageView点击时换背景 文件类型只识别3种, 文件夹,app安装包,其他文件, 有删除,只确认一次, 有复制粘贴,但和一般的不同, 复制是将选中的文件加到剪切板, 粘贴分两种...

    BuguMongo使用文档

    支持文件夹功能,支持文件的重命名、移动、排序等操作。 • 简单方便的GridFS文件上传、读取。支持图片加水印、图片压缩。能用HTTP获取文件,并能使用HTTP缓存。 使用BuguMongo,可以让你: • 用面向对象的编程思维...

    USBSort:在您的 USB 驱动器中为按歌曲物理顺序排序的设备排序播放列表

    目前,这个 Java 程序将在导出播放列表时采用 iTunes 生成的 XML 文件,并将解析它以在目标文件夹中创建物理排序的播放列表。 通过添加更多解析器,该项目可以扩展到用于跟踪歌曲和播放列表的其他程序。 现在我的...

    java排序源码-PokerHandSorter:您的任务您将构建一个命令行程序,该程序通过STDIN进行两人扑克游戏的“一手牌”。在流完成时

    java排序原始代码PokerHandSorter 有关如何构建和执行项目的说明 1.建设项目 转到项目文件夹 C:\projects\assessment\PokerHandSorter&gt;gradlew clean build Deprecated Gradle features were used in this build, ...

    java_Projects:用于存储AP Computer Science文档和作业

    SortingProject用于制作电话簿,其功能包括添加/删除/设置个人信息,写入/读取文件以及排序。 另一个项目位于20180306文件夹中,该文件夹记录了一系列AP CS问题的答案。 于2018年3月8日更新 抱歉省略我在假期中完成...

Global site tag (gtag.js) - Google Analytics