OSDN Git Service

f3a05437c80a07331df789338a0c2f2b9ddad9f6
[hayashilib/hayashi.git] / src / jp / co / areaweb / tools / command / NewFileList.java
1 package jp.co.areaweb.tools.command;\r
2 import java.io.*;\r
3 import java.text.SimpleDateFormat;\r
4 import java.text.ParsePosition;\r
5 import java.util.Date;\r
6 \r
7 /**\r
8  * 指定された時刻以降に更新されたファイルをリストアップし、その絶対パス名を標準出力に出力する。\r
9  */\r
10 public class NewFileList\r
11 {\r
12     public static void main (String args[]) {\r
13         if (args.length < 2) {\r
14             System.out.println("jp.co.areaweb.tools.command.NewFileList [directory] [CCYY.MM.DD-HH:mm:ss]");\r
15             return;\r
16         }\r
17         \r
18         try {\r
19             SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd'-'hh:mm:ss");\r
20             Date startTime = sdf.parse(args[1], new ParsePosition(0));\r
21 \r
22             NewFileList.listup(new File(args[0]), startTime);\r
23         }\r
24         catch(Exception e) {\r
25             e.printStackTrace();\r
26             System.out.println(e.toString());\r
27         }\r
28     }\r
29     \r
30     public static void listup(File file, Date startTime) throws IOException {\r
31         if (file == null) {\r
32             System.out.println("ERR: ディレクトリが見つかりませんでした。");\r
33             return;\r
34         }\r
35         \r
36         if (file.isDirectory()) {\r
37             File files[] = file.listFiles();\r
38             if (files != null) {\r
39                 for (int i=0; i < files.length; i++) {\r
40                     listup(files[i], startTime);    // 再帰呼び出し\r
41                 }\r
42             }\r
43         }\r
44         else {\r
45             if ((new Date(file.lastModified())).after(startTime)) {\r
46                 System.out.println(file.getAbsolutePath());\r
47             }\r
48         }\r
49         return;\r
50     }\r
51 \r
52 }\r