【赛迪网-it技术报道】为做一个文件管理系统所实现的一个很粗糙的小例子,感觉还是有研究价值的。
下面是源代码:
import java.util.comparator;
import java.io.file;
/**
* created by intellij idea.<br>
* <b>user</b>: leizhimin<br>
* <b>date</b>: 2008-7-18 22:43:44<br>
* <b>note</b>: 文件排序,按照先目录后文件方式排
*/
public class filecomparator implements comparator<file> {
public int compare(file o1, file o2) {
if (o1.isdirectory() && o2.isdirectory()) return o1.compareto(o2);
else if(o1.isdirectory() && !o2.isdirectory()) return -1;
else if(!o1.isdirectory() && o2.isdirectory()) return 1;
else return o1.compareto(o2);
}
}
|
import java.io.file;
import java.util.*;
import java.sql.date;
import java.text.dateformat;
import java.text.simpledateformat;
import java.text.numberformat;
/**
* created by intellij idea.<br>
* <b>user</b>: leizhimin<br>
* <b>date</b>: 2008-7-18 22:02:30<br>
* <b>note</b>: 模拟dir测试的例程
*/
public class testfile {
public static dateformat df = new simpledateformat("yyyy-mm-dd hh:mm");
int nl = 18;
public static void main(string args[]) {
test();
}
public static void test() {
system.out.println("----------test()----------");
file file = new file("f:\\soft_dev");
// file.isdirectory();
// system.out.println(file.pathseparator);
// system.out.println(file.pathseparatorchar);
// system.out.println(file.separator);
// system.out.println(file.separatorchar);
filecomparator fc = new filecomparator();
file[] lf = file.listfiles();
arrays.sort(lf, fc); //数组排序
for (file f : lf) {
string datastr = df.format(new date(f.lastmodified()));
if (f.isdirectory()) {
system.out.print(datastr + " <dir> ");
} else {
system.out.print(datastr + " " + 工程
getformatstring(string.valueof
(numberformat.getinstance()
.format(f.length()))));
}
system.out.println(" " + f.getname());
}
}
//格式化函数
public static string getformatstring(string s) {
int nb = 12 - s.length();
stringbuilder sb = new stringbuilder();
if (nb > 0) {
for (int n = 1; n <= nb; n++) {
sb = sb.append(" ");
}
}
return sb.append(s).tostring();
}
}
|