为做一个文件管理系统所实现的一个很粗糙的小例子感觉还是有研究价值的
下面是源代码
import javautilComparator;
import javaioFile;
/**
* Created by IntelliJ IDEA<br>
* <b>User</b>: leizhimin<br>
* <b>Date</b>: ::<br>
* <b>Note</b>: 文件排序按照先目录后文件方式排
*/
public class FileComparator implements Comparator<File> {
public int compare(File o File o) {
if (oisDirectory() && oisDirectory()) return pareTo(o);
else if(oisDirectory() && !oisDirectory()) return ;
else if(!oisDirectory() && oisDirectory()) return ;
else return pareTo(o);
}
}
import javaioFile;
import javautil*;
import javasqlDate;
import javatextDateFormat;
import javatextSimpleDateFormat;
import javatextNumberFormat;
/**
* Created by IntelliJ IDEA<br>
* <b>User</b>: leizhimin<br>
* <b>Date</b>: ::<br>
* <b>Note</b>: 模拟dir测试的例程
*/
public class TestFile {
public static DateFormat df = new SimpleDateFormat(yyyyMMdd HH:mm);
int nl = ;
public static void main(String args[]) {
test();
}
public static void test() {
Systemoutprintln(test());
File file = new File(F:\\SOFT_DEV);
// fileisDirectory();
// Systemoutprintln(FilepathSeparator);
// Systemoutprintln(FilepathSeparatorChar);
// Systemoutprintln(Fileseparator);
// Systemoutprintln(FileseparatorChar);
FileComparator fc = new FileComparator();
File[] lf = filelistFiles();
Arrayssort(lf fc); //数组排序
for (File f : lf) {
String dataStr = dfformat(new Date(flastModified()));
if (fisDirectory()) {
Systemoutprint(dataStr + <DIR> );
} else {
Systemoutprint(dataStr + + getFormatString(StringvalueOf(NumberFormatgetInstance()format(flength()))));
}
Systemoutprintln( + fgetName());
}
}
//格式化函数
public static String getFormatString(String s) {
int nb = slength();
StringBuilder sb = new StringBuilder();
if (nb > ) {
for (int n = ; n <= nb; n++) {
sb = sbappend( );
}
}
return sbappend(s)toString();
}
}
运行效果
test()
: <DIR> ACDSee v SR 美化版 Plus
: <DIR> MyEclipse Enterprise Workbench GA
: <DIR> PLSQL Developer v 英文版
: <DIR> SQLyog Enterprise v 英文版
: <DIR> staruml
: <DIR> Stylus Studio XML Enterprise Suite vg 官方中文企业版
: <DIR> SybasePowerDesignerv
: <DIR> 输入法设置工具 IME TOOL v
: dotnetfxexe
: ideaexe
: ideaexe
: IEDevToolBarSetuprar
: IntJkgexe
: jdk___windowsipexe
: MyEclipse_GA_E_Installerexe
: MyEclipse_GA_E_Installerexe
: mysqlconnectorodbcwinmsi
: Rational Rose Enterprise Vnrg
: rational_permdat
: spketjar
: tcpTracezip
: ToadForMySQLFreeware_zip
: UltraISO 简体中文版rar
: Windows Live Messenger(MSN) _简体去广告搜索多开版_微软聊天工具rar
blog的在线编辑器显示好像有点问题贴个图吧