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