`

java 公用库

    博客分类:
  • java
 
阅读更多
转载
本文主要介绍自己在开发过程中总结的一些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/或jar包下载。

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



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

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



2、SimpleCache——小型缓存

是AutoGetDataCache的基类,大部分接口同AutoGetDataCache(构造函数不同,没有get(Object, List)方法),可以设置缓存满时删除元素方式、缓存失效时间、缓存持久化等等。接口介绍可以见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 boolean writeFile(String filePath, InputStream stream)写文件

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 <V> boolean isEquals(ArrayList<V> actual, ArrayList<V> expected) 比较两个ArrayList是否相等

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中所有元素以分隔符拼接返回



public static <V> boolean addDistinctEntry(List<V> sourceList, V entry)

向sourceList中新增不重复元素

public static <V> int addDistinctList(List<V> sourceList, List<V> entryList)

向sourceList中插入包含在entryList而不包含在sourceList中的元素

public static <V> int distinctList(List<V> sourceList)

去除list中重复的元素



public static <V> boolean addListNotNullValue(List<V> sourceList, V value)

向list中新增非null value



public static <V> V getLast(List<V> sourceList, V value)

得到array中某个元素(从前到后第一次匹配)的前一个元素

public static <V> V getNext(List<V> sourceList, V value)

得到array中某个元素(从前到后第一次匹配)的后一个元素



public static <V> List<V> invertList(List<V> sourceList) 将list倒置



7、MapUtils——map工具类

public static <K, V> boolean isEmpty(Map<K, V> sourceMap)

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



public static boolean putMapNotEmptyKey(Map<String, String> map, String key, String value)

向map中put key和value对,key必须非null,并且为非空字符串

public static boolean putMapNotEmptyKeyAndValue(Map<String, String> map, String key, String value)

向map中put key和value对,key和value都必须非null,并且为非空字符串

public static boolean putMapNotEmptyKeyAndValue(Map<String, String> map, String key, String value, String defaultValue)

向map中put key和value对,key必须非null,并且为非空字符串,若value为null或者空字符串,put defaultValue



public static <K, V> K getKeyByValue(Map<K, V> map, V value)

根据value得到key的值,从头开始匹配,若存在返回匹配的第一个key,否则返回null



public static boolean putMapNotEmptyKey(Map<String, String> map, String key, String value)

向map中put key和value对,key必须非null,并且为非空字符串

public static boolean putMapNotEmptyKeyAndValue(Map<String, String> map, String key, String value)

向map中put key和value对,key和value都必须非null,并且为非空字符串

public static boolean putMapNotEmptyKeyAndValue(Map<String, String> map, String key, String value, String defaultValue)

向map中put key和value对,key必须非null,并且为非空字符串,若value为null或者空字符串,put defaultValue



8、ObjectUtils——Object工具类

public static boolean isEquals(Object actual, Object expected) 比较两个对象是否相等

public static <V> int compare(V v1, V v2) 比较两个值的大小



public static Integer[] transformIntArray(int[] source)

public static int[] transformIntArray(Integer[] source)

int数组和Integer数组之间转换



public static Long[] transformLongArray(long[] source)

public static long[] transformLongArray(Long[] source)

long数组和Long数组之间转换



9、RandomUtils——随机数工具类

public static String getRandomNumbersAndLetters(int length)

得到固定长度的随机字符串,字符串由数字和大小写字母混合组成



public static String getRandomNumbers(int length)

得到固定长度的随机字符串,字符串由数字混合组成



public static String getRandomLetters(int length)

得到固定长度的随机字符串,字符串由大小写字母混合组成



public static String getRandomCapitalLetters(int length)

得到固定长度的随机字符串,字符串由大写字母混合组成



public static String getRandomLowerCaseLetters(int length)

得到固定长度的随机字符串,字符串由小写字母混合组成



public static String getRandom(String source, int length)

public static String getRandom(char[] sourceChar, int length)

得到固定长度的随机字符串,字符串由sourceChar中字符混合组成





10、SerializeUtils——序列化工具类

public static void serialization(String filePath, Object obj) 序列化

public static Object deserialization(String filePath) 反序列化



11、StringUtils——字符串工具类

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

public static boolean isEquals(String actual, String expected) 比较两个String,包含为null情况

public static String nullStrToEmpty(String str) null字符串转换为长度为0的字符串

public static String capitalizeFirstLetter(String str) 将字符串首字母大写后返回

public static String getHrefInnerHtml(String href) 得到href链接的innerHtml

public static String htmlEscapeCharsToString(String source) html的转义字符转换成正常的字符串



public static String halfWidthToFullWidth(String s) 半角字符转换为全角字符

public static String fullWidthToHalfWidth(String s) 全角字符转换为半角字符



12、HttpUtils——http工具函数

http get请求,各种类型如下:

public static String httpGet(String url)

public static String httpGet(String url, int timeOut)

public static String httpGet(String url, Map<String, String> parasMap)

public static String httpGet(String url, String paras)

public static String httpGetEncodeParas(String url, Map<String, String> parasMap)



http post请求,各种类型如下:

public static String httpPost(String url, String paras)

public static String httpPost(String url, String paras, int timeOut)

public static String httpPost(String url, Map<String, String> parasMap)

public static String httpPostEncodeParas(String url, Map<String, String> parasMap)



http post请求,可传送文件,各种类型如下:

public static String httpPostWithFile(String url, String paras, Map<String, String> filePathMap)

public static String httpPostWithFile(String url, String paras, Map<String, String> filePathMap, int timeOut)

public static String httpPostWithFile(String url, Map<String, String> parasMap, Map<String, String> filePathMap)

public static String httpPostEncodeParasWithFile(String url, String paras, Map<String, String> filePathMap)

public static String httpPostEncodeParasWithFile(String url, Map<String, String> parasMap, Map<String, String> filePathMap)



除了以上的请求外,还包括一些相关字符串工具函数

utf8进行解码 public static String utf8Decode(String url)

utf8进行编码 public static String utf8Encode(String url)

得到有序的参数串 public static String getOrderedParas(Map<String, String> parasMap)

得到有序的参数串,参数的值经过utf-8编码 public static String getOrderedValueEncodeParas(Map<String, String> parasMap)

得到参数串 public static String getParas(Map<String, String> parasMap)

解析字符串得到key和value对应的map public static Map<String, String> getParasMap(String paras)

public static Map<String, String> getParasMap(String paras, String parametersSeparator)



public static String getQueryParameter(String url, String key)

public static String getQueryParameter(String url, String key, String pathParaSeparator, String paraSeparator)

根据key得到url中的参数值



public static String getUrlPath(String url) 返回一个url的非query部分



public static String getUrlWithOrdered[size=xx-large]
Paras(String url, Map<String, String> parasMap)

public static String getUrlWithOrderedValueEncodeParas(String url, Map<String, String> parasMap)

public static String getUrlWithParas(String url, Map<String, String> parasMap)

public static String getUrlWithValueEncodeParas(String url, Map<String, String> parasMap)

得到url



public static String getValueEncodeParas(Map<String, String> parasMap) 得到参数串,参数的值经过utf-8编码


[/size][/size][/size]
分享到:
评论

相关推荐

    封装java常用工具的类

    Java可以创建基于文本或图形的验证码,通过图像库如Java2D或第三方库如JCaptcha实现。 9. **GUI(图形用户界面)**:Java提供了Swing和JavaFX两个库来构建桌面应用的用户界面。Swing是基于组件的,而JavaFX提供了...

    java导入导出通用模板

    这些技术是Java POI库在Excel处理中的常见应用,可以帮助开发者更高效地管理数据的输入和输出。 首先,我们来看“自定义注解”。在Java中,注解是一种元数据,它可以提供有关程序元素(如类、方法、变量等)的附加...

    Java工具类库Hutool-v5.8.27.zip

    Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。 Hutool = Hu + tool,是原公司项目底层代码剥离...

    使用java时间连接池连接redis,单例模式和集群模式.docx

    Java 连接 Redis 集群的实现 在这个资源中,我们将探讨如何使用 Java 客户端连接 Redis 集群,并实现单例模式和集群模式的连接。 Redis 集群 Redis 集群是一种高可用性的 Redis 部署方式,通过将多个 Redis 节点...

    Java开发技术大全(500个源代码).

    common.java 一个公用类 derive.java 一个测试用子类 differ.java 测试静态方法与实例方法之间的区别 forefather.java 一个简单的基类 grandson.java 上面这个类的子类 hasConstructor.java 拥有构造器的类 ...

    watson:用Java编写的日常工作中的一些公用程序utils代码

    1. **Java工具类库**: 在Java开发中,工具类库通常是一系列静态方法集合,提供了各种通用功能,如字符串操作、日期时间处理、数学计算、IO操作等。Watson项目可能包含了这些常见的工具类,帮助开发者快速实现常见...

    Java调用C(动态SO文件)接口开发说明书

    例如,在示例中,我们创建了一个native的公用方法,通过javah命令生成C代码来实现方法,该方法的C函数原型是通过对class文件使用javah实用程序来创建的,而class文件是通过编译Java文件生成的。 三、C代码的生成和...

    小而全的Java工具类库.rar

    Hutool 是项目中 "util" 包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的 bug。 Hutool如何改变我们的coding方式 Hutool的目标...

    J2EE的公用jar包

    在Java企业版(J2EE)开发中,为了构建可扩展、健壮且跨平台的Web应用程序,开发者通常需要依赖一系列的库文件,这些文件主要包含在J2EE的公用jar包中。J2EE_5_Libraries这个压缩包正是为满足这样的需求而提供的,它...

    公用:公用实用程序库

    "该项目包括:待办事项:添加说明"提示我们这个项目还处于初步阶段,可能需要进一步完善,比如添加详细的使用说明文档,以帮助用户更好地理解和使用这个公用库。这通常包括如何引入库到项目中、如何使用提供的工具类...

    java项目中公共模块内容详细

    2. **日期处理**:Java的日期时间处理主要包括`java.util.Date`、`java.time`包(Java 8及以上版本)和Joda-Time库。这些API用于获取当前日期、时间,进行日期计算,格式化和解析日期字符串等操作。例如,`...

    C#和JAVA的比较

    同时,Java拥有丰富的开源库和跨平台的JVM支持,以及更早的社区发展,这使得Java在某些方面显得更为成熟。 总之,C#和Java虽然在很多概念上相似,但各自都有独特的设计哲学和应用场景。对于开发者而言,理解它们的...

    公用房管理系统(vs2005 MFC)

    本系统采用Microsoft Visual Studio 2005的MFC(Microsoft Foundation Classes)库进行开发,该库是微软为Windows应用程序设计提供的一套C++类库,极大地简化了Windows GUI(图形用户界面)编程。通过MFC,开发者...

    手机号归属地查询JAVA工具类

    首先,`JAVA`是全球广泛使用的面向对象的编程语言,以其跨平台、高效和丰富的库而闻名。在这个项目中,JAVA被用来编写工具类,它是一组相关功能的集合,旨在提高代码的复用性和组织性。 `phoneNum`表示这个工具类...

    公用Excel导入.zip

    - **Apache POI**:这是一个开源的Java库,它允许开发者创建、修改和显示Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。在本案例中,可能使用POI库来读取和解析Excel文件内容。 - **JExcelApi (jxl)**:...

    Hutool Java工具库 v5.4.4

    为您提供Hutool Java工具库下载,Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自...

    关于java中package的设置

    这时我们取用的便是所谓的package,这种写法会将java标准公用程序库(utility library,也就是java.util)整个引入。此类导入 (importing)动作的存在理由,也是为了提供命名空间(name space)的管理机制。所有的...

    java基础入门教程

    第 一 章 Java概 述 § 1.1 Java语 言 出 现 的 背景 、 影 响 及 应 用 前 景 一 、 背 景 最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器...

    宾馆管理系统。博客系统。OA系统用到的公用JAR

    标题和描述中提到的"宾馆管理系统"、"博客系统"以及"OA系统"都是企业级应用的典型代表,而它们共用的"JAR"文件则可能是这些系统中的...通过合理利用这些公用库,可以提升开发效率,同时保证系统的稳定性和可扩展性。

    设置Maven仓库-Artifactory

    Maven 构件库的类型包括本地仓库、内部私有远程仓库和外部公用远程仓库。本地仓库位于开发者的机器,由开发者维护,它从位于‘~home/.m2’ 目录的‘settings.xml’文件中定义的 Maven 仓库上同步。如果在 pom.xml 或...

Global site tag (gtag.js) - Google Analytics