zoukankan      html  css  js  c++  java
  • 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 ----------------------------------------------------------------------------------------------------

  • 相关阅读:
    迭代器和生成器
    案例:复制大文件
    案例:使用seek倒查获取日志文件的最后一行
    Leetcode165. Compare Version Numbers比较版本号
    Leetcode137. Single Number II只出现一次的数字2
    Leetcode129. Sum Root to Leaf Numbers求根到叶子节点数字之和
    Leetcode116. Populating Next Right Pointers in Each Node填充同一层的兄弟节点
    Leetcode114. Flatten Binary Tree to Linked List二叉树展开为链表
    Leetcode113. Path Sum II路径总和2
    C++stl中vector的几种常用构造方法
  • 原文地址:https://www.cnblogs.com/mengyao/p/4651973.html
Copyright © 2011-2022 走看看