利用Google的zxing生成二维码或者条码非常简单,下面来介绍下 如果是Maven,加入pom.xml: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.4.1</version> </dependency> 如果是Gradle,加入build.gradle compile "com.g…

2021-02-06 0条评论 1035点热度 0人点赞 admin 阅读全文

Java中读写Office文件的类库老大莫属Apache POI了,本篇介绍下如何利用POI写入数据到Excel文件。 如果是Maven,加入pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> <dependency>…

2021-02-03 0条评论 2534点热度 0人点赞 admin 阅读全文

在Spring或者SpringBoot程序里,生成Excel文件比较方便,Spring已经通过org.springframework.web.servlet.view.document.AbstractXlsxView提供了对Excel的支持,我们只需要实现它就可以。 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.…

2021-02-02 1条评论 1465点热度 0人点赞 admin 阅读全文

在前一篇文章,介绍了如何将图片(JPG,PNG,TIF多页文件)文件合并为一个PDF,并输出到web网页或文件。 本次介绍如何将多个PDF(包含多页)合并输出为一个PDF(输出为web网页也一样,只要把OutputStream改成ByteArrayOutputStream并返回bytes就可以了) 首先引入itextpdf依赖,编辑pom.xml,增加如下dependency <dependency> <groupId>com.itextpdf</groupId> <art…

2021-01-22 0条评论 2102点热度 1人点赞 admin 阅读全文

需求是浏览器里直接将服务器上的图片文件(JPG,PNG,TIF)输出PDF, TIF还可能是多页的,这里需要把TIF合并,项目是用的Spring/SpringBoot 首先引入itextpdf依赖,编辑pom.xml,增加如下dependency <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.2<…

2021-01-20 1条评论 2611点热度 3人点赞 admin 阅读全文

我自用的正则表达式判断Email的方法 比较简单,直接上方法 public static boolean isEmail(String email) { if (StringUtils.isEmpty(email)) return false; Pattern p = Pattern.compile("^[\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7}$"); Matcher m = p.matcher(email); return m.matches(); }…

2021-01-17 0条评论 691点热度 0人点赞 admin 阅读全文

直接上工具方法 /** * 获取访问用的真实IP,无视nginx等反向代理软件 * @param request * @return ip地址 */ public static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("X-Real-IP"); if (!StringUtils.isEmpty(ip) && !"unknown".equalsIgnoreCase(ip)) { retur…

2021-01-14 0条评论 852点热度 0人点赞 admin 阅读全文

/** * 判断字符串中是否包含中文 * * @param str 待校验字符串 * @return 是否为中文 * @warn 不能校验是否为中文标点符号 */ public static boolean isContainsChinese(String str) { if (str == null) { return false; } Pattern p = Pattern.compile("[\u4e00-\u9fa5]"); Matcher m = p.matcher(str); return m.find…

2021-01-13 0条评论 4470点热度 1人点赞 admin 阅读全文

最近发现一个问题,Tomcat运行一段时间后,就会发生崩溃现象,查找tomcat的logs/catalina.out日志,发现很多 java.io.IOException: Too many open files这样的错误日志 继续查找,ps au|grep java 找到tomcat的PID,lsof -p PID 看到具体的打开文件很多都是我最近添加的代码里Files.list(Paths.get(baseDir)).filter(...)这里的文件 可是Files.list这种Stream的方式浏览文件,最后…

2021-01-11 1条评论 1803点热度 1人点赞 admin 阅读全文

重复N个字符连成一个字符串,比如生成5个连续的a的字符串aaaaa 最不用动脑筋的方法就是for循环里面用String/StringBuffer/StringBuilder等把string拼接起来 String repeatedString = ""; for (int i = 0; i < n; i++) { string = string + s; } 下面介绍稍微优雅一点的实现 //s是要重复的字符,n是重复次数,各种JDK版本通用 String repeatedString = new String(…

2021-01-10 0条评论 4349点热度 5人点赞 admin 阅读全文