程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java實現Windows的dir命令

Java實現Windows的dir命令

編輯:關於JAVA

為做一個文件管理系統所實現的一個很粗糙的小例子,感覺還是有研究價值的。下面是源代碼:

  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();
       }
     }

運行效果:

     ----------test()----------
     2008-06-20 13:01 <DIR>     ACDSee v3.1 SR1 美化版 Plus
     2008-06-20 13:01 <DIR>     MyEclipse Enterprise Workbench 6.0.1 GA
     2008-06-20 13:02 <DIR>     PLSQL Developer v7.1.4 英文版
     2008-06-20 13:02 <DIR>     SQLyog Enterprise v6.5 英文版
     2008-07-02 18:04 <DIR>     staruml-5.0
     2008-07-07 18:45 <DIR>     Stylus Studio 2008 XML Enterprise Suite v9.1.1050g 官方中文企業版
     2008-06-20 13:02 <DIR>     Sybase.PowerDesigner.v12.5.0.2169
     2008-06-20 13:02 <DIR>     輸入法設置工具 IME TOOL v2.5.9
     2008-04-10 18:56  23,510,720 dotnetfx.exe
     2006-06-15 11:22  54,666,120 idea-5.1.2.exe
     2008-03-18 19:16  90,648,728 idea-7.0.3.exe
     2008-04-11 16:08    428,538 IEDevToolBarSetup.rar
     2006-06-18 00:00    148,480 IntJ512kg.exe
     2008-01-31 11:12  54,278,424 jdk-1_5_0_14-windows-i586-p.exe
     2008-05-29 19:07  184,893,774 MyEclipse_6.0.1GA_E3.3.1_Installer.exe
     2008-06-24 11:33  461,013,238 MyEclipse_6.5.0GA_E3.3.2_Installer.exe
     2008-05-30 08:15   4,320,768 mysql-connector-odbc-5.1.4-win32.msi
     2007-02-04 11:08  541,075,612 Rational Rose Enterprise V7.0.nrg
     2001-05-26 21:31    23,264 rational_perm.dat
     2008-04-14 10:39  10,000,152 spket-1.6.11.jar
     2008-06-27 14:45    113,784 tcpTrace081.zip
     2008-05-12 15:31  28,847,842 ToadForMySQLFreeware_3.1.1.462.zip
     2008-04-12 09:57   1,833,339 UltraISO 9.12 簡體中文版.rar
     2008-06-11 14:39  16,672,737 Windows Live Messenger(MSN) 8.5.1302.1018_簡體去廣告搜索多開版_微軟聊天工具.rar

blog的在線編輯器顯示好像有點問題,貼個圖吧:

本文出自 “熔 巖” 博客,請務必保留此出處http://lavasoft.blog.51cto.com/62575/89289

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved