Apache-common项目提供的工具
---- 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项目提供的工具的更多相关文章
- 15个具有高度影响力的Apache开源项目
自1999年创立以来,Apache软件基金会如今已成了众多重要的开源软件项目之家.其中成功的项目有Geronimo,有Tomcat,有Hadoop,有如今成了大数据王国关键车毂的分布式计算系统. 虽然 ...
- 15个非常重要的Apache开源项目汇总
15个非常重要的Apache开源项目汇总 自1999年创立以来,Apache软件基金会如今已成了众多重要的开源软件项目之家.本文列举了15个多年来非常重要的Apache项目,这些项目不仅对开源运动来说 ...
- 项目自动化建构工具gradle 入门2——log4j输出helloWorld
上一章节呢,有一个能跑的程序了.但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点.比如使用log4j.直接上例子: 1进入D:\work\gradle\log目录 ,您电脑没 ...
- [转]Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多 ...
- Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇——开发工具库篇,**主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容 ...
- 以Jar形式为Web项目提供资源文件
以Jar形式为Web项目提供资源文件 http://www.webjars.org/ Web前端使用了越来越多的JS或CSS如jQuery, Backbone.js 和Twitter Bootstra ...
- PHP性能:序——谈ab(Apache Bench)压力测试工具
PHP性能:序——谈ab(Apache Bench)压力测试工具 ab(Apache Bench)是啥? ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试.a ...
- 转:PHP性能:序——谈ab(Apache Bench)压力测试工具
PHP性能:序——谈ab(Apache Bench)压力测试工具 ab(Apache Bench)是啥? ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试.a ...
- Java基础学习总结(70)——开发Java项目常用的工具汇总
要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...
随机推荐
- mysql 变量set
在游标循环中,使用使用select into 变量var时,再判断var isnull 或者length(var)=0时,跳出循环. 解决方式: 使用set var=(select id from t ...
- 头像上传ASP.NET MVC实现-可拖动大小实时预览
这是一个ASP.NET MVC实现的类似于dz论坛的上传头像功能.可以拖动选择大小,支持多种尺寸生成. 效果界面 头像上传源码下载 项目中具体应用时,请根据需求做调整.欢迎交流~回复即可下载~源码下载 ...
- 【移动开发】WIFI热点通信(一)
之前调查过Android中WIFI模块的使用,也写过两篇学习总结的文章(http://smallwoniu.blog.51cto.com/3911954/1334951),后来发现DEMO里面还是有许 ...
- java中说明书/开发文档如何编写?
由于在java开发时我们得到的或者给别人的文件一般都是class文件,不会给出源文件,故编写一个简洁易懂的说明书是必须的. ps: @param int[] arr 会有警告,可以删掉 int []. ...
- Hadoop安装测试简单记录
安装的节点如下:1个namenode.1个hiveserver.3个dataNode192.168.1.139 namenode1192.168.1.146 hiveserver 192.16 ...
- api接口
目录(?)[-] 接口特点汇总 PHP Token令牌 先说第一个tokenapi_token 服务端接口校验PHP实现流程如下 再说第二个tokenuser_token 接口用例如下 接口特点汇总: ...
- 03-StreamReader和StreamWriter的案例
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- gradle命令
gradle tasks 可以显示gradle可以做的任务. gradle build 就会生成jar包. build和clean install的作用是否一致?
- mdf导入sqlServer
导入mdf有两种方法: (需要mdf和ldf两个文件) 1. 在SQL企业管理器中,选择左边树型列表,根节点即"数据库"的文件夹图标,右键"所有任务"→ ...
- inline-block元素的空白间距解决方法
方法1 <ul><li>item1</li><li>item2</li><li>item3</li><li&g ...