本文主要介绍自己在开发过程中总结的一些Java工具类,主要包括SimpleCache——小型缓存、AutoGetDataCache——自动获取新数据的缓存, ArrayUtils——数组工具类、FileUtils——文件操作工具类、JSONUtils——Json工具类、ListUtils——list工具类、MapUtils——map工具类、ObjectUtils——Object工具类、RandomUtils——随机数工具类、SerializeUtils——序列化工具类、StringUtils——字符串工具类、HttpUtils——http工具函数。

google code地址:http://code.google.com/p/trinea-java-common/

github地址:https://github.com/Trinea/JavaCommon



1、AutoGetDataCache——自动获取新数据的缓存

介绍见自动获取新数据的缓存AutoGetDataCache



2、SimpleCache——小型缓存

是AutoGetDataCache的基类,大部分接口同AutoGetDataCache,可以定义缓存满时删除元素类型、缓存失效时间、缓存持久化等等。

关于缓存满时删除元素类型目前有不删除、对象进入缓存时间(先进入先删除、后进入先删除)、对象上次使用时间(先使用先删除、后使用先删除)、对象使用次数(使用少先删除、使用多先删除)、对象优先级(优先级低先删除、优先级高先删除)、对象值(值小先删除、值大先删除)几种,用户可以自己根据需要定义,继承CacheFullRemoveType即可。


3、ArrayUtils——数组工具类

包含org.apache.commons.lang3.ArrayUtils中的功能

public static <V> V getLast(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到array中某个元素(从前到后第一次匹配)的前一个元素

public static <V> V getNext(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到array中某个元素(从前到后第一次匹配)的后一个元素



4、FileUtils——文件操作工具类

public static StringBuilder readFile(String filePath) 读文件

public static boolean writeFile(String filePath, String content, boolean append) 写文件

public static List<String> readFileToList(String filePath) 读文件,每行作为list的一个元素

public static String getFileNameWithoutExtension(String filePath) 从路径中获得文件名(不包含后缀名)

public static String getFileName(String filePath) 从路径中获得文件名(包含后缀名)

public static String getFolderName(String filePath) 从路径中获得文件夹路径

public static String getFileExtension(String filePath) 从路径中获得文件后缀名

public static boolean makeFolder(String filePath) 根据文件路径循环创建文件的文件夹

public static boolean isFileExist(String filePath) 判断文件是否存在

public static boolean isFolderExist(String directoryPath) 判断文件夹是否存在

public static boolean deleteFile(String path) 删除文件或空文件夹



5、JSONUtils——Json工具类

public static Integer getInt(String jsonData, String key, Integer defaultValue)

public static Integer getInt(JSONObject jsonObject, String key, Integer defaultValue)

从json数据串中得到某个Integer key的值

类似的还有int getInt、getBoolean、Long getLong、long getLong、getString、getStringArray、getJSONObject、getJSONArray



public static Map<String, String> parseKeyAndValueToMap(JSONObject sourceObj)

public static Map<String, String> parseKeyAndValueToMap(String source)

将key和value键值对形式的json转换成map



6、ListUtils——list工具类

public static <V> boolean isEmpty(List<V> sourceList)

判断list是否为空或大小为0



public static String join(List<String> list)

public static String join(List<String> list, char separator)

public static String join(List<String> list, String separator)

将list中所有元素以分隔符拼接返回