
工具类
玉离骚
这个作者很懒,什么都没留下…
展开
-
阿里云服务器发送邮件失败 Could not connect to SMTP host: smtp.xxx.com, port: 465;
从提示看就是阿里云邮箱的465端口连接不上,一开始以为是阿里云禁止了465端口,所以在阿里云控制台的安全组里面给465端口都配置了入方向和出方向,但仍旧同样报错。阿里云服务器也不例外,但可以在阿里云控制台申请解封25端口,然而是小微服务器一般不给解封的,所以即使本地25端口也调试ok,也不考虑换25端口作为解决方向。这段代码本地ok,上阿里云服务器就连不通stmp+465,故而又从网上找了几个别人写的发送邮件的工具类代码,都是大同小异,结果也是本地ok阿里云服务器不行,着实让人有点蒙圈。原创 2024-06-07 23:08:24 · 3097 阅读 · 2 评论 -
下载项目路径下的文件
文件下载(比如模板下载),方法之一是先在服务器上创建一个路径,再通过代码里面写死或配置去读取这个路径的下的这个文件进行下载。这个方法的缺点就是需要提前创建好这个目录,并给文件路径给与读写权限,上线时还有可能忘记做这个操作了。今天主要是写一个把文件放在项目里面,打包后运行可直接可以下载的功能。原创 2023-09-25 14:56:52 · 184 阅读 · 0 评论 -
自定义注解(校验参数必填demo)
以上就是整个过程,最重要的是第二步,整个自定义注解的功能都是在这里面实现的。其实字段必填spring也提供了注解@NotNull,示例如下。所以自定义注解一般会写点其他什么业务逻辑的功能,有现成的肯定是直接用谁还不辞辛苦自己去写。其中异常工具类ExceptionUtil.buildException()我这里就不贴代码了,自己写一个或者替换一下。注解在开发过程中很常用,他也支持自定义注解。下面写了一个校验请求参数必填的自定义注解。原创 2023-07-01 15:52:39 · 906 阅读 · 0 评论 -
复制集合与对象
这个是最原始也是最费劲的,某个字段不小心写错了还成就了一个bug。但有些jar包里面有现成的方法可以直接使用, 比如spring-beans包里面的。开发过程中,总会涉及到一些BO、PO、DTO、VO等转换, 比如userVO转换成userPO。自己写个转换方法如下。两个入参分别是 源对象/源对象集合 目标对象.class。原创 2023-06-04 10:00:00 · 149 阅读 · 0 评论 -
List<Map>根据map字段排序
从一个list<map>根据指定的map字段进行排序package yulisao.test;import org.apache.commons.collections.CollectionUtils;import org.apache.commons.lang3.StringUtils;import java.util.*;/** * @author yulisao * @createDate 2022/3/20 0020 下午 11:34 */public class原创 2022-03-27 21:33:50 · 10931 阅读 · 1 评论 -
对已有的json重新排序
JSONObject的底层是Map结构, 默认是 HashMap,也可以改成LinkedHashMap,二者在顺序上有些差别。改成LinkedHashMap的方法是。接口做签名时,拼接明文字符串时候,大部分人约定入参需要按字母顺序进行排序,所以写了json重新排序的方法。其中心思想还是用json自带的转字符串并排序。但是如果是LinkedHashMap类型的,则上述的工具类则会失效不起作用。,最后再转回json。原创 2023-04-27 16:23:53 · 1404 阅读 · 0 评论 -
分割list集合划分批次
在某些业务中,当一个list的数据量很大时, 就可能会考虑进行拆分。比如导出数据, 每N条追加写入表格;提交数据库,每N条执行一次insert 等诸多场景。下面写了三种拆分list 的方法。原创 2023-04-26 14:39:32 · 523 阅读 · 0 评论 -
easyexcel
2.除了性别,比如再有状态0-失效,1-生效,则参照如上在写一个转换类XXXX.java就是,改最后一个convertToExcelData方法,不是字典表的自己写ifelse去返回对应的中文值也行。早就听说阿里巴巴的easyexcel导出数据,在针对大量数据方面不仅效率快,也不会出现内存溢出。它的导出就一行代码,然后就是实体字段添加注解配置就完事了。其中 userService 和 DictService,以及枚举类就不贴代码了,意义不大自己去实现一下就行。原创 2023-03-31 01:00:00 · 991 阅读 · 0 评论 -
LocalDateTime工具类
用了ideal和jdk1.8后,LocalDateTime的使用就少不了。有些功能用Date会使用,但在LocalDateTime里有些功能是略微有些不同。相比之下LocalDateTime的使用更加简洁,也就是一行代码的事所以也用不着写工具类。API文档 里面有时间工具类、加密、表格、文件、图片、zip、http、json、map、数组等等,功能多的背不过来,需要啥就去搜索一下有没有自己想要的,没有的话在自己去写。上面写的方法比较少, 因为发现了一个很强大的开源工具类jar包:hutool,分享给大家。.原创 2022-08-16 14:29:21 · 1650 阅读 · 0 评论 -
计算月差工具类
最近有个需求里面要求计算月差,不足一个月按一个月计算。计算月差,大部分逻辑是 (年-年)*12 + (月-月) + (日-日决定是否要进一)。但是有个场景 2.28-3.31是多少个月有着不同的理解理解一: 一个月零3天。因为2.28到3.28是一个月,3.28-3.31是3天,所以是一个月零3天理解二: 这个月底到下个月月底,刚好一个月。如果按理解一来,就用 (年-年)*12 + (月-月) + (日-日决定是否要进一) 就可以了,得到是2个月。如果按理解二来,计算出2个月就不符合要求了,预期的原创 2022-03-27 15:14:51 · 779 阅读 · 0 评论 -
Socket请求
测试时可以直接使用软件工具,比如SocketTool.exe,也方便若编程中需要Socket的请求,可以参考如下方法。 /** * socket连接 * * @param ip 目标主机地址 * @param port 目标端口 * @param req_msg 报文数据 * @param timeout 超时时间(秒) * @return */ public static String sendSocketMessage(String ip, int port,原创 2021-07-06 17:18:54 · 1183 阅读 · 0 评论 -
读取/导出带文档密码的表格
前两天做了导出excel还要求打开时输入密码,整理了一下代码,写个工具类。说明:excel表格分为2003版本文件名后缀xls和2007版本文件名后缀xlsx,版本不同读写创建文档略有不同xls加密依赖jxcell.jar,xlsx依赖的poi-ooxml.jar,且两者不能混用否则报错。xls 自带了写保护功能,但可以绕过密码以只读模式打开文档,只是不能编辑而已。本次的需求是要密码才准查看,所以改用了jxcell.jarxssfWorkbook当数据超大(1048576行,16384列)时,原创 2021-04-26 14:05:16 · 864 阅读 · 1 评论 -
java程序FTP上传文件
依赖架包 commons-net-3.4.jarpackage ftpTest;import java.io.File;import java.io.FileInputStream;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPReply;/** * ftp 上传工具类 * * @author yulisao * @createDate 2020年3月19日 */原创 2021-03-19 10:46:59 · 251 阅读 · 0 评论 -
导出excel合并单元格
导出表格package ExcelTest;import java.io.File;/** * 导出excel工具类(支持合并单元格) * * @author yulisao * @createDate 2020年11月16日 */public class mergeCellUtil { private static final short FONT_SIZE_TITLE = 14; //标题字体大小 private static final short FONT_SIZE_原创 2020-12-02 17:42:32 · 1588 阅读 · 1 评论 -
压缩图片文件大小工具类
压缩图片工具类这是从网上找了一个例子,测试了一下,可用。package imgTest;import java.awt.image.BufferedImage;/** * 图片处理工具类 */public class ImgUtils{ /** * @throws IOException * @throws FileNotFoundException * 压缩图片(通过降低图片质量) * @explain 压缩图片,通过压缩图片质量,保持原图大小原创 2020-09-24 16:57:40 · 231 阅读 · 0 评论 -
解析excel表文档
今天做了一个解析excel的功能,分享一下给新朋友。下面是参考代码说明:1表格里面有多少列,columns数组里面就得多少个元素,不然数组越界错误。2读取单元格的数据类型,可以根据自己需要改改或者从字符串转型3尽量使用xls的模板文档,简单方便些。xlsx格式的对poi-ooxml包要求是1.1版本的,高版本报错不行。而且poi-ooxml有些东西不自带,因此还需要引入xmlbeans-2.6.0.jar,dom4j等等包package ExcelTest;import java.io.原创 2020-09-07 11:13:33 · 214 阅读 · 0 评论 -
xml添加节点(加签)
xml报文加签名,也就是往xml报文里面多加一个节点,实质就是追加一个参数放进进去。 除了加签的用途,也可以加其他参数。package xmlTest;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;/** * xml追加节点 * * @author yulisao * @createDate原创 2020-08-27 18:44:22 · 1787 阅读 · 0 评论 -
压缩加密文件工具类
此工具类可以压缩和解压文件,支持设置解压密码。说明:1 压缩文件时候判定被压缩文件是否存在, 不存在会报错。2 示例是压缩txt,也可以doc,pdf,xlsx等其他文件。3 压缩和解压不同文件类型可通用,但解压不同文件类型读取内容的写法略有不同。zipUtil.javapackage zipTest;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import jav原创 2020-08-26 11:22:23 · 256 阅读 · 0 评论 -
pdf工具类:添加文案水印
以前写了一个pdf添加图片水印的工具类, 现在在写一个对上传的pdf文件添加文字水印的例子。html长传代码。 bootstrap框架,样式文件和js库 自行引入。<style>.file { position: relative; display: inline-block; background: #D0EEFF; border: 1px solid #99D3F5; border-radius: 4px; padding: 4px 12px; overflow: hid原创 2020-08-12 19:13:37 · 963 阅读 · 0 评论 -
生成二维码
今天做了个推广二维码的功能,主要依赖谷歌开源的core架包实现,推广可以使用链接或者二维码(实质上二维码就是携带了链接信息而已)。二维码相比链接好处在于方便不需要记住或者去复制粘贴链接,毕竟扫码已经很普遍了。不好的地方有些扫码软件不给你自动跳转仅展示扫码出来的结果(比如微信扫码不是所有链接都跳,可能是微信的风控/白名单导致不跳)推广链接比如: http:// www.yulisao.com/down.html?id=12345678 输入到浏览器就可以下载, 链接后面的参数如果比较重要的话最好做下加密。原创 2020-07-07 09:38:26 · 446 阅读 · 0 评论 -
随机工具类
以下只是一些简单的随机抽取不同数据类型的随机抽取,看懂其原理还可以推演一些别的方法。比如抽奖,从固定的集合中抽取随机,可以参考随机抽取下标的方法去实现。package test.random;import java.math.BigDecimal;import java.util.ArrayList;import java.util.Random;/** * 生成随机数 * 方法...原创 2020-01-13 18:18:50 · 312 阅读 · 0 评论 -
邮件发送工具类
依赖的maven 或者 jar <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.5</version> ...原创 2019-08-07 16:17:37 · 410 阅读 · 1 评论 -
字符串转Unicode
字符串转Unicodepublic class MyTestUtil { //private static YGBizMessageContext ctx = null; public static void main(String[] args) throws YGException { String str = "这是中文字符串"; System.out.print(str...原创 2019-08-19 11:20:34 · 470 阅读 · 0 评论 -
读取Excel
package com.jerry;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;impor...原创 2019-05-16 14:38:00 · 81 阅读 · 0 评论 -
配置文件读写工具类
PropertyUtil.javapackage person.yulisao.pro;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Date;import java.util.Properties;/** * 配置文件读...原创 2019-09-30 10:29:47 · 144 阅读 · 0 评论 -
httppost请求工具类
需要引入httpcore-4.3.1.jarpackage yulisao;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.cl...原创 2019-09-09 15:21:21 · 3090 阅读 · 0 评论