Apache-common项目提供的工具

---- MD5加密与生成UUID例子(依赖于commons-io.jar):begin ----------------------------------------------------------------------------------------------------

 1 package com.mengyao.jdoc.commons;
 2 
 3 import org.apache.commons.codec.digest.DigestUtils;
 4 import org.apache.commons.id.Hex;
 5 import org.apache.commons.id.uuid.UUID;
 6 
 7 /**
 8  *
 9  * @author mengyao
10  *
11  */
12 public class Utils {
13 
14     /**
15      * 使用MD5单向加密方式加密指定字符串
16      * @param str 待转换字符串
17      * 依赖于commons-codec.jar实现
18      * @return
19      */
20     public static String getMD5Str(String str){
21         return DigestUtils.md5Hex(str);
22     }
23     
24     /**
25      * 获取UUID
26      * 依赖于apache-commons-id.jar、commons-discovery.jar实现
27      * @return
28      */
29     public static String getUUID() {
30         return new String(Hex.encodeHex(UUID.randomUUID().getRawBytes()));
31     }
32     
33     public static void main(String[] args) {
34         System.out.println(getUUID());
35         System.out.println(getMD5Str("123456"));
36     }
37 }

---- MD5加密与生成UUID例子(依赖于commons-io.jar):end----------------------------------------------------------------------------------------------------

 

---- 监控文件变化例子(依赖于commons-io.jar):begin ----------------------------------------------------------------------------------------------------

  1 package com.lefukj.parser.watcher;
  2 
  3 import java.io.File;
  4 
  5 import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
  6 import org.apache.commons.io.monitor.FileAlterationObserver;
  7 
  8 /**
  9  *
 10  * @author mengyao
 11  *
 12  */
 13 public class FileListener extends FileAlterationListenerAdaptor {  
 14  
 15     /**
 16      * 文件创建执行
 17      */  
 18     @Override  
 19     public void onFileCreate(File file) {  
 20         System.out.println("[新建]:" + file.getAbsolutePath());  
 21     }  
 22  
 23     /**
 24      * 文件创建修改
 25      */  
 26     @Override  
 27     public void onFileChange(File file) {  
 28         System.out.println("[修改]:" + file.getAbsolutePath());  
 29     }  
 30  
 31     /**
 32      * 文件删除
 33      */  
 34     @Override  
 35     public void onFileDelete(File file) {  
 36         System.out.println("[删除]:" + file.getAbsolutePath());  
 37     }  
 38  
 39     /**
 40      * 目录创建
 41      */  
 42     @Override  
 43     public void onDirectoryCreate(File directory) {  
 44         System.out.println("[新建]:" + directory.getAbsolutePath());  
 45     }  
 46  
 47     /**
 48      * 目录修改
 49      */  
 50     @Override  
 51     public void onDirectoryChange(File directory) {  
 52         System.out.println("[修改]:" + directory.getAbsolutePath());  
 53     }  
 54  
 55     /**
 56      * 目录删除
 57      */  
 58     @Override  
 59     public void onDirectoryDelete(File directory) {  
 60         System.out.println("[删除]:" + directory.getAbsolutePath());  
 61     }  
 62  
 63     @Override  
 64     public void onStart(FileAlterationObserver observer) {  
 65         super.onStart(observer);  
 66     }  
 67  
 68     @Override  
 69     public void onStop(FileAlterationObserver observer) {  
 70         super.onStop(observer);  
 71     }  
 72  
 73 } 
 74 
 75  
 76 
 77 package com.lefukj.parser.watcher;
 78 
 79 import java.util.concurrent.TimeUnit;
 80 
 81 import org.apache.commons.io.filefilter.FileFilterUtils;
 82 import org.apache.commons.io.monitor.FileAlterationMonitor;
 83 import org.apache.commons.io.monitor.FileAlterationObserver;
 84 
 85 /**
 86  *
 87  * @author mengyao
 88  *
 89  */
 90 public class FileMonitorTest {
 91 
 92     /**
 93      * @param args
 94      */
 95     public static void main(String[] args) throws Exception {
 96         // 监控目录
 97         String rootDir = "D:/caiji";
 98         // 轮询间隔1 秒
 99         long interval = TimeUnit.SECONDS.toMillis(1);
100         // 创建一个文件观察器用于处理文件的格式
101         FileAlterationObserver observer = new FileAlterationObserver(rootDir,
102                 FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
103                         FileFilterUtils.suffixFileFilter(".dat")), // 过滤文件格式
104                 null);
105         // FileAlterationObserver _observer = new
106         // FileAlterationObserver(rootDir);
107 
108         observer.addListener(new FileListener()); // 设置文件变化监听器
109         // 创建文件变化监听器
110         FileAlterationMonitor monitor = new FileAlterationMonitor(interval,
111                 observer);
112         // 开始监控
113         monitor.start();
114     }
115 
116 }

---- 监控文件变化例子(依赖于commons-io.jar):end ----------------------------------------------------------------------------------------------------

 

---- 文件读写操作例子(依赖于commons-io.jar):begin ----------------------------------------------------------------------------------------------------

 1 package com.lefukj.parser.utils;
 2 
 3 import java.io.File;
 4 import java.io.FileWriter;
 5 import java.io.IOException;
 6 import java.io.OutputStream;
 7 import java.text.SimpleDateFormat;
 8 import java.util.Date;
 9 import java.util.List;
10 
11 import org.apache.commons.io.FileUtils;
12 import org.apache.commons.io.IOUtils;
13 import org.apache.commons.lang.SystemUtils;
14 
15 import com.lefukj.parser.configuration.Configuration;
16 
17 /**
18  *
19  * @author mengyao
20  *
21  */
22 @SuppressWarnings("all")
23 public class FileUtil {
24 
25     public static String getPath(){
26         String os = SystemUtils.OS_NAME;
27         String path = null;
28         if (os.contains("Windows") || os.contains("windows")) {
29             path = Configuration.WINDOWS_FILE_DIR;             
30         } else if (os.contains("Linux") || os.contains("linux")) {
31             path = Configuration.LINUX_FILE_DIR;
32         }
33         
34         return path;
35     }
36     
37     public static File getFile(String path, String fileName){
38         File file = new File(path);
39         if(!file.isDirectory()){
40             file.mkdir();
41         }
42         file = new File(path+fileName);
43         return file;
44     }
45     
46     public static boolean writeFile(String path, String fileName, List<?> lines, boolean append) {
47         boolean status = false;
48         FileWriter writer = null;
49         try {
50             File file = new File(path);
51             if(!file.isDirectory()){
52                 file.mkdir();
53             }
54             file = new File(path+fileName);
55             writer = new FileWriter(file, append);
56             IOUtils.writeLines(lines, null, writer);
57             status = true;
58         } catch (IOException e) {
59             e.printStackTrace();
60             throw new RuntimeException(e);
61         } finally {
62             try {
63                 writer.close();
64             } catch (IOException e) {
65                 e.printStackTrace();
66             }
67         }
68         
69         return status;
70     }
71     
72     public static List<String> readFile(String path){
73         FileUtils fileUtils = new FileUtils();
74         List<String> readLines = null;
75         try {
76             File file = new File(path);
77             readLines = fileUtils.readLines(file);
78         } catch (IOException e) {
79         }
80         return readLines;
81     }
82     
83     public static long getFileLastUpdateTime(File file){
84         long lastModified = file.lastModified();
85         
86         return lastModified;
87     }
88     
89     public static void main(String[] args) {
90         File file = new File("D:/caiji/users.dat");
91         System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file.lastModified())));
92         //2015-07-25 20:30:37
93         //2015-07-25 20:44:01
94     }
95     
96 }

---- 文件读写操作例子(依赖于commons-io.jar):end ----------------------------------------------------------------------------------------------------

posted @ 2015-07-16 17:30  孟尧  阅读(887)  评论(0编辑  收藏  举报