• 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 ----------------------------------------------------------------------------------------------------

  • 相关阅读:
    android 微信(5.3)聊天UI的布局思考
    android 屏幕适配
    不同Activity之间的动画切换
    Freemarker 进行字符串截取
    如何使带背景图片的Button按钮中的文字居中偏上显示
    关于在IE-8下 button的背景图片不能正确显示的问题
    android Xmpp+openfire 消息推送 :SASL authentication failed using mechanism DIGEST-MD5
    Android运行出现“java.io.IOException: 您的主机中的软件放弃了一个已建立的连接。”
    计算机网络
    Java基础-3
  • 原文地址:https://www.cnblogs.com/mengyao/p/4651973.html
Copyright © 2020-2023  润新知