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

 package com.mengyao.jdoc.commons;

 import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.id.Hex;
import org.apache.commons.id.uuid.UUID; /**
*
* @author mengyao
*
*/
public class Utils { /**
* 使用MD5单向加密方式加密指定字符串
* @param str 待转换字符串
* 依赖于commons-codec.jar实现
* @return
*/
public static String getMD5Str(String str){
return DigestUtils.md5Hex(str);
} /**
* 获取UUID
* 依赖于apache-commons-id.jar、commons-discovery.jar实现
* @return
*/
public static String getUUID() {
return new String(Hex.encodeHex(UUID.randomUUID().getRawBytes()));
} public static void main(String[] args) {
System.out.println(getUUID());
System.out.println(getMD5Str("123456"));
}
}

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

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

 package com.lefukj.parser.watcher;

 import java.io.File;

 import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationObserver; /**
*
* @author mengyao
*
*/
public class FileListener extends FileAlterationListenerAdaptor { /**
* 文件创建执行
*/
@Override
public void onFileCreate(File file) {
System.out.println("[新建]:" + file.getAbsolutePath());
} /**
* 文件创建修改
*/
@Override
public void onFileChange(File file) {
System.out.println("[修改]:" + file.getAbsolutePath());
} /**
* 文件删除
*/
@Override
public void onFileDelete(File file) {
System.out.println("[删除]:" + file.getAbsolutePath());
} /**
* 目录创建
*/
@Override
public void onDirectoryCreate(File directory) {
System.out.println("[新建]:" + directory.getAbsolutePath());
} /**
* 目录修改
*/
@Override
public void onDirectoryChange(File directory) {
System.out.println("[修改]:" + directory.getAbsolutePath());
} /**
* 目录删除
*/
@Override
public void onDirectoryDelete(File directory) {
System.out.println("[删除]:" + directory.getAbsolutePath());
} @Override
public void onStart(FileAlterationObserver observer) {
super.onStart(observer);
} @Override
public void onStop(FileAlterationObserver observer) {
super.onStop(observer);
} } package com.lefukj.parser.watcher; import java.util.concurrent.TimeUnit; import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver; /**
*
* @author mengyao
*
*/
public class FileMonitorTest { /**
* @param args
*/
public static void main(String[] args) throws Exception {
// 监控目录
String rootDir = "D:/caiji";
// 轮询间隔1 秒
long interval = TimeUnit.SECONDS.toMillis(1);
// 创建一个文件观察器用于处理文件的格式
FileAlterationObserver observer = new FileAlterationObserver(rootDir,
FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
FileFilterUtils.suffixFileFilter(".dat")), // 过滤文件格式
null);
// FileAlterationObserver _observer = new
// FileAlterationObserver(rootDir); observer.addListener(new FileListener()); // 设置文件变化监听器
// 创建文件变化监听器
FileAlterationMonitor monitor = new FileAlterationMonitor(interval,
observer);
// 开始监控
monitor.start();
} }

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

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

 package com.lefukj.parser.utils;

 import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.SystemUtils; import com.lefukj.parser.configuration.Configuration; /**
*
* @author mengyao
*
*/
@SuppressWarnings("all")
public class FileUtil { public static String getPath(){
String os = SystemUtils.OS_NAME;
String path = null;
if (os.contains("Windows") || os.contains("windows")) {
path = Configuration.WINDOWS_FILE_DIR;
} else if (os.contains("Linux") || os.contains("linux")) {
path = Configuration.LINUX_FILE_DIR;
} return path;
} public static File getFile(String path, String fileName){
File file = new File(path);
if(!file.isDirectory()){
file.mkdir();
}
file = new File(path+fileName);
return file;
} public static boolean writeFile(String path, String fileName, List<?> lines, boolean append) {
boolean status = false;
FileWriter writer = null;
try {
File file = new File(path);
if(!file.isDirectory()){
file.mkdir();
}
file = new File(path+fileName);
writer = new FileWriter(file, append);
IOUtils.writeLines(lines, null, writer);
status = true;
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
} return status;
} public static List<String> readFile(String path){
FileUtils fileUtils = new FileUtils();
List<String> readLines = null;
try {
File file = new File(path);
readLines = fileUtils.readLines(file);
} catch (IOException e) {
}
return readLines;
} public static long getFileLastUpdateTime(File file){
long lastModified = file.lastModified(); return lastModified;
} public static void main(String[] args) {
File file = new File("D:/caiji/users.dat");
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file.lastModified())));
//2015-07-25 20:30:37
//2015-07-25 20:44:01
} }

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

Apache-common项目提供的工具的更多相关文章

  1. 15个具有高度影响力的Apache开源项目

    自1999年创立以来,Apache软件基金会如今已成了众多重要的开源软件项目之家.其中成功的项目有Geronimo,有Tomcat,有Hadoop,有如今成了大数据王国关键车毂的分布式计算系统. 虽然 ...

  2. 15个非常重要的Apache开源项目汇总

    15个非常重要的Apache开源项目汇总 自1999年创立以来,Apache软件基金会如今已成了众多重要的开源软件项目之家.本文列举了15个多年来非常重要的Apache项目,这些项目不仅对开源运动来说 ...

  3. 项目自动化建构工具gradle 入门2——log4j输出helloWorld

    上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录  ,您电脑没 ...

  4. [转]Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...

  5. Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇——开发工具库篇,**主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容 ...

  6. 以Jar形式为Web项目提供资源文件

    以Jar形式为Web项目提供资源文件 http://www.webjars.org/ Web前端使用了越来越多的JS或CSS如jQuery, Backbone.js 和Twitter Bootstra ...

  7. PHP性能:序——谈ab(Apache Bench)压力测试工具

    PHP性能:序——谈ab(Apache Bench)压力测试工具 ab(Apache  Bench)是啥? ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试.a ...

  8. 转:PHP性能:序——谈ab(Apache Bench)压力测试工具

    PHP性能:序——谈ab(Apache Bench)压力测试工具 ab(Apache  Bench)是啥? ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试.a ...

  9. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

随机推荐

  1. 查看linux版本号的几种方法

    (1)lsb_release 命令查看,FSG(Free Standards Group)组织开发的LSB (Linux Standard Base)标准的一个命令,用来查看linux兼容性的发行版信 ...

  2. 使用exp&imp工具进行数据库备份及恢复

    使用exp&imp工具进行数据库备份及恢复1.exp/imp使用方法介绍exp/imp为一种数据库备份恢复工具,也可以作为不同数据库之间传递数据的工具,两个数据库所在的操作系统可以不同.exp ...

  3. Debian耳机声音问题

    Debian耳机声音问题 关于Debian声音问题 debian testing基本系统安装无声音问题解决 耳机声音问题 之前耳机声音一直正常,使用部分软件更改声卡设置后,计算机可以播放外音,但是耳机 ...

  4. php long time(1)

    好久好久没有发表新的文章了,主要是懒得在这里写,都记在记事本上,所得都是自己理解的情况下写的,如今借此闲暇记录下来,:::: ****************PHP****************** ...

  5. Wcf简单实例1

    一.客户端添加服务引用,并调用 1.使用客户端代理同步调用 static void TestTwo() { /*********同步访问********/ Person.PersonServiceCl ...

  6. MongoDB数据库导出导入迁移

    在server 1导出 /usr/local/mongodb/bin/mongorestore -d adv_new /tmp/mongodb/ 然后会在/tmp/mongodb/目录下生成一个adv ...

  7. MySQL查看数据库大小、表大小和最后修改时间

    查看数据库表基本信息. select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA = ' ...

  8. hbase region 分配方式

    参与 Region 分配的重要对象 在 Region 分配过程中,起着重要作用有如下一些对象. HMaster— 是 HBase 中的 Master server ,仅有一个. HRegionServ ...

  9. 重复造轮子感悟 – XLinq性能提升心得

    曾经的两座大山 1.EF 刚接触linq那段时间,感觉这家伙好神奇,语法好优美,好厉害.后来经历了EF一些不如意的地方,就想去弥补,既然想弥补,就必须去了解原理.最开始甚至很长一段时间都搞不懂IQue ...

  10. 软件测试 homework1

    申明数组变量后,在使用的时候,出现了向上溢出的情况(程序运行过程中出现的),导致最后答案不正确,经过输出数组数据发现错误, 现在在申明数组的时候都会大致估算一下,确认申明什么样的数组不会导致溢出. 在 ...