java开发常用jar包用途,常用的jar包
本文整理了我自己在Java开发中常用的jar包和API记录。
如何解决写爬虫IP受阻的问题?立即使用。
一、common-lang3
简介:一个最常用的jar包现在封装了许多常用的工具包。
(推荐视频:java视频教程)
依赖性:
!-https://mvn repository . com/artifact/org . Apache . commons/commons-lang 3-
属国
groupId org . Apache . commons/groupId
artifactId commons-lang 3/artifactId
版本3.4/版本
/dependency的主要常见类别如下:
API介绍
这里我只介绍几个常用的工具类和方法,比如ArrayUtils,StringUtils,NumberUtils,DateUtils。其他请参考官方API文档。
1.ArrayUtils
方法名 | 说明 |
---|---|
add |
|
remove |
|
clone | 复制数组 |
addAll |
|
removeAll | 第二个参数传入需要删除的下标(可以指定多个下标) |
toObject | 把数值(int[],double[])转为包装类(Int[],Double[]) |
indexOf | 在数组按顺序查找,找到第一个满足对应的数值的下标 |
lastIndexOf | 在数组按顺序查找,找到最后一个满足对应的数值的下标 |
contains | 数组是否包含某个值 |
isEmpty | 判断数组是否为空 |
isNotEmpty | 判断数组是否不为空 |
reverse | 数组反转 |
subarray | 指定区间截取数组,区间为半开区间,不包含末尾 |
toArray | 接收一个多个对象,把这几个对象转为对应类型的数组 |
toMap | 将一个二维数组转为Map |
方法名
| 说明 |
---|---|
min | 比较三个数,返回最小值 或比较指定的几个数,返回最小值 |
max | 比较三个数,返回最大值 或比较指定的几个数,返回最大值 |
createInt | 从传入的String中创建对应类型的数值,createDouble,createFloat... |
toInt | 将指定字符串转为Int类型,可以选择指定默认数值,如果字符串为null则返回默认数值,除此之外,还有toDouble,toLong...等转为不同类型的方法 |
compare | 比较两个同类型数值的大小 |
isDigits | 判断字符串是否只包含数字 |
isParsable | 判断字符串是否可转换为Long,Int等类型 |
isNumber | 判断字符串是否为数值(0x,0X开头等进制数值) |
Ken @ 166。ComdateFormattils,顾名思义是用来把时间转换成字符串的,这里就不多说了。
4.StringUtils
方法名 | 说明 |
---|---|
join | 将指定的数组连接成字符串,并添加指定的分割字符 |
containOnly | 字符串是否只包含某个字符串 |
substringBefore | 截取指定字符串前面的内容 |
substringAfter | 截取指定字符串后面的内容(不包括指定字符串) |
substringBetween | 截取字符串某区间内容,如substringBetween("abcde","a","e")="bcd" |
difference | 比较两个字符串,返回两个字符串不同的内容,具体可以看API文档给出的示例 |
isBlank | 判断字符串是否为空白,null,""," "这三个结果都是为true |
isEmpty | 判断字符串是否为空(只要不为null,或传入的String对象的长度不为0即为true) |
countMatches | 判断指定的字符串在某个字符串中出现的次数 |
deleteWhitespace | 删除字符串中的空格 |
defaultIfBlank | 如果字符串为空白,则返回一个指定的默认值(null或某个String) |
defaultIfEmpty | 如果字符串为空,则返回一个指定的默认值(null或某个String) |
capitalize | 将指定字符串首字母大写 |
abbreviate | 将指定字符串的后面三位转为... |
swapCase | 将字符串中的字母大小写反转,如aBc变为AbC |
lowerCase | 将字符串的字母全部转为小写 |
upperCase | 将字符串的字母全部转为大写 |
left | 取字符串左边几个字符,如left("hello",3)="hel",right与此相反 |
leftPad | 字符串的长度不够,则使用指定字符填充指定字符串,如leftPad("hel",5,"z")="zzhel",rightPad方法与此相反 |
prependIfMissing | 指定字符串不以某段字符串开头,则自动添加开头,如prependIfMissing("hello","li")="lihello" |
prependIfMissing | 指定字符串不以某段字符串开头(忽略大小写),则自动添加开头 |
getCommonPrefix | 获得多个字符串相同的开头内容,接收参数为多个字符串 |
removeEnd | 删除字符串中结尾(满足是以某段内容结尾),如removeEnd("hello","llo")="he" |
removeEndIgnoreCase | 与上面一样,忽略大小写 |
removeStart | 与上面的相反 |
remove | 删除字符串中的指定内容,如remove("hello","l")="heo" |
removeIgnoreCase | 删除字符串中的指定内容,如remove("hello","l")="heo" |
strip | 清除字符串开头和末尾指定的字符(第二个参数为null,用来清除字符串开头和末尾的空格),如strip(" abcxy","xy")=" abc",strip(" abcxy","yx")=" abc" |
stripStart | 清除字符串开头指定字符 |
stripEnd | 清除字符串末尾指定的字符 |
简介:通用IO流工具包
!-https://mvnrepository.com/artifact/commons-io/commons-io属地
groupIdcommons-io/groupId
artifactId commons-io/artifactId
2.6/version 2.6/version/dependency我们主要关注带Utils后缀的类。正如您所看到的,common-io库提供了文件实用程序、文件系统实用程序、文件名实用程序、文件过滤器实用程序和ioutils。
FileUtils
写文档。
读取文件
创建一个带有父文件夹的文件夹。
复制文件和文件夹。
删除文件和文件夹。
文件的URL
通过过滤器和扩展名过滤文件和文件夹。
比较文件内容。
文件的最后修改时间
文件验证
FileSystemUtils
与文件系统相关的操作,如检查驱动器C的大小、剩余大小等。
IOUtils
从字面上看,它是一个工具类,封装了IO流的各种操作。
三、Log4j
简介:Log4J是Apache的一个开源项目。通过在项目中使用Log4J,我们可以控制日志信息输出到控制台、文件、GUI组件甚至数据库。
我们可以控制每个日志的输出格式。通过定义日志的输出级别,可以更加灵活地控制日志的输出过程,方便项目的调试。
依赖性:
属国
groupIdlog4j/groupId
artifactIdlog4j/artifactId
版本1 . 2 . 17/版本
/依赖结构
Log4J主要由Loggers(日志记录器)、Appenders(输出)和Layout(日志格式化程序)组成。
记录器控制日志的输出级别以及是否输出日志;
Appenders指定如何将日志输出到控制台、文件等。);
布局控制日志信息的输出格式。
日志级别:
级别 | 说明 |
---|---|
OFF | 最高日志级别,关闭左右日志 |
FATAL | 将会导致应用程序退出的错误 |
ERROR | 发生错误事件,但仍不影响系统的继续运行 |
WARN | 警告,即潜在的错误情形 |
INFO | 一般和在粗粒度级别上,强调应用程序的运行全程 |
DEBUG | 一般用于细粒度级别上,对调试应用程序非常有帮助 |
ALL | 最低等级,打开所有日志记录 |
我们主要用这四个:ErrorWarnInfoDebug
使用
我们可以用两种方式运行Log4j,一种是java代码,一种是配置文件。
示例(Java方式)
公共类Log4JTest {
公共静态void main(String[] args) {
//获取Logger对象的实例(传入当前类)
logger logger=logger . get logger(log 4 jtest . class);
//使用默认的配置信息,不需要写log4j.properties
basic configurator . configure();
//将日志输出级别设置为WARN,这将覆盖配置文件中设置的级别。只会输出日志级别低于WARN的日志。
logger.setLevel(级别。警告);
Logger.debug(这是调试);
Logger.info(这是info );
Logger.warn(这是warn );
Logger.error(这是错误);
Logger.fatal(这是致命的);
}
}示例(剖析方法)
在上面的例子中,我们想要打印日志,但是每次都要花费时间和精力去写,所以Log4j提供了另一种方式来配置我们的信息。
创建一个名为log4j.properties的文件,该文件需要放在项目的根目录(约定)中。如果是maven项目,可以直接放在resources文件夹中。
log4j.properties
#控制台
log4j . appender . console=org . Apache . log4j . console appender
log4j . appender . console . layout=org . Apache . log4j . pattern layout
log4j . appender . console . layout . conversion pattern=% d[% t]%-5p[% c]-% m % n
#日志数据库编程
log4j。伐木工。Java。SQL。结果集=信息
log4j.logger.org.apache=WARN
log4j。伐木工。Java。SQL。连接=调试
log4j。伐木工。Java。SQL。语句=调试
log4j。伐木工。Java。SQL。准备好的语句=调试
#记录框架设置
# log4j。伐木工。org。阿帕奇。ibatis=调试
log4j。伐木工。org。阿帕奇。伊巴提斯。JDBC=误差
log4j。伐木工。org。阿帕奇。伊巴提斯。io=信息
log4j。伐木工。org。阿帕奇。伊巴提斯。数据源=信息
#springMVC日志
log4j。伐木工。org。spring框架。web=警告
# 文件输出配置
log4j。阑尾手术。a=组织。阿帕奇。log4j。文件
log4j。阑尾手术。a . file=D:/log。txt #指定日志的输出路径
log4j.appender.A.Append=true
log4j。阑尾手术。a .阈值=调试
log4j。阑尾手术。布局=组织。阿帕奇。log4j。图案布局#使用自定义日志格式化器
log4j。阑尾手术。a .布局。转换模式=%-d { yyyy-MM-DD HH:MM:ss }[% t:% r]-[% p]% m % n #指定日志的输出格式
log4j。阑尾手术。a .编码=UTF-8 #指定日志的文件编码
#指定日志的输出级别与输出端
log4j.rootLogger=DEBUG,Console,A
#指定某个包名日志级别(不能超过上面定义的级别,否则日志不会输出)
log4j.logger.com.wan=DEBUG之后使用的话就比较简单了
//记录器的初始化(这个推荐定义为全局变量,方便使用)
记录器记录器=记录器。获取记录器(log 4 jtest。类);
//输出原木
logger.info(这是info’);四、lombok
简介:平常我们创建实体类的时候,需要获取/设置方法,极其麻烦,虽然想法等集成驱动电子设备都是有提供了快捷生成,不过,最好的解决方法还是省略不写
而龙目岛就是这样的一个框架,实现省略获取/设置方法,当然,龙目岛的功能不只有此,还有相等,toString方法也可以由此框架自动生成
龙目岛的原理是使用注解,之后就会在编译过程中,给班级文件自动加上获取/设置等方法
不过想法似乎无法识别,代码检查还是会报错,所以,使用想法的时候还得安装一个插件,在插件搜索龙目岛,之后安装重启即可,如图
之后为爪哇项目添加依赖
!https://mvnrepository.com/artifact/org.projectlombok/lombok
属国
groupIdorg.projectlombok/groupId
artifactIdlombok/artifactId
版本1 .18 .8/版本
范围提供/范围
/依赖关系使用示例
1.实体类省略get/set
估计科特林中的数据关键字就是参照着龙目岛实现的
//这里我们只需要为类添加数据注解,就会自动生成对应属性的获取/设置方法,toString,等于等方法
@数据
公共类用户{
私有字符串用户名;
私有字符串密码;
}2.需要无参构造以及get/set方法
@Getter
@Setter
@NoArgsConstructor
公共类用户{
私有字符串用户名;
私有字符串密码;
}3.链式调用set方法
@数据
@访问器(chain=true)
公共类用户{
私有字符串用户名;
私有字符串密码;
}
//使用
User User=new User();
user.setUsername(helo ).设置密码( 123 );4.参数不为空
//如果调用此方法,就会抱一个空指针错误
公共字符串print(@NotNull String str){
.
}5.只需要toString
@ToString(callSuper=true,includeFieldNames=true)
公共类用户{
私有字符串用户名;
私有字符串密码;
//省略的获取/设置方法
}6.builder模式创建实体类对象
@数据
@Builder
公共类用户{
私有字符串用户名;
私有字符串密码;
}
//使用
用户user1=User.builder().用户名("用户1")。密码( 123 )。build();7.工具类
@UtilityClass
公共类MyUtils{
//会将此方法自动转为静态方法
公共无效打印(字符串str){
.
}
}
//使用
米提斯。print( hello );8.自动关闭流
公共静态void main(String[] args)引发异常{
//使用清除会自动调用关闭方法
@ clean up InputStream in=new file InputStream(args[0]);
@ clean up output stream out=new file output stream(args[1]);
字节[] b=新字节[1024];
while (true) {
int r=in。改为(b);
if(r==-1)break;
out.write(b,0,r);
}
}9.省略Logger时的初始化
@Log4j
@日志
公共类用户{
//会自动添加此语句
//Logger Logger=记录器。获取记录器(用户。类);
.
}本文来自我们,java教程专栏,欢迎学习!以上是Java开发中常用的jar包排列和使用的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。