Java设置Linux下的文件权限,相当于Linux的命令:chmod 755 /path/to/file 有两种方式 chmod 666 /path/to/file,Java下调用外部命令的详见: https://blog.terrynow.com/2020/12/28/java-exec-linux-command/ public static void setPermission(File file) { Path path = file.toPath(); try { Set<PosixFilePer…

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

在得到用户上传后的图片后,或者直接处理图片的时候,如果太大可能要进行缩放操作,或者要生成其他尺寸的图片。 下面整理了如何对图片进行缩放后者调整长宽的代码: BufferedImage src = ImageIO.read(new File("/path/to/image_file")); // 读入图片文件 int width = src.getWidth(); // 得到源图宽 int height = src.getHeight(); // 得到源图长 int newWidth = width / 2; int…

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

可能使用的时候没有注意,在做时间的解析和格式化的时候,写了一个全局的工具类或者把SimpleDateFormat的初始化,放在全局变量里面,导致在多线程或者高并发调用的时候,解析或者格式化出来的时间不正确或者直接报错的问题,刚开始查的时候,始终没看出来程序哪里的问题,简单的单元测试也正常,后来才发现是SimpleDateFormat线程不安全引起的! JDK的文档如下: Synchronization: Date formats are not synchronized. It is recommended to …

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

今天项目中需要用到一个JSON的依赖包(json-lib) 虽然根据https://mvnrepository.com/artifact/net.sf.json-lib/json-lib/2.4查到pom应该这样导入: <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --> <dependency> <groupId>net.sf.json-lib</groupId> <artif…

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

最近一个项目中Java中用OKHttp/HttpsURLConnection请求一个https的API,出现如下报错: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 用Postman或者浏览器模拟请求,却是正常的,也不是网上查到的所谓的证书问题。 因为实在检查不出来什么原…

2021-05-12 0条评论 66点热度 0人点赞 admin 阅读全文

有时候,我们需要用Java开发一个小的程序,或者只需要实现简单的http监听的server,此时并不想引入太多依赖(比如Spring或者要使用Tomcat等),此时可以使用Java自带的HttpServer来实现简单的web服务器,实现一些基本功能还是没有问题的。 下面分享下代码片段实现HttpServer,代码实现了以下几个功能和要点(详见代码注释): 实现web server(GET方法): http://127.0.0.1:8182/hello 如果GET携带参数 http://127.0.0.1:8182/…

2021-05-07 0条评论 76点热度 0人点赞 admin 阅读全文

开发的时候,例如安卓开发,遇到需要将正方形图片转换成圆形显示(如用户头像显示等),这里分享下我使用的Bitmap转换成圆形的工具类,输入Bitmap,输出圆形Bitmap。 直上干货工具方法: /** * 转换图片成圆形 * * @param bitmap * 传入Bitmap对象 * @return */ public static Bitmap toRoundBitmap(Bitmap bitmap) { if (bitmap == null) return null; int width = bitmap.g…

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

平时写程序时候,经常需要计算哈希值(MessageDigest摘要),如MD5、SHA1、SHA256等等,不妨做一个工具类,要用到的时候,一个方法调用就可以了,方便省事,下面是我使用的工具类,原生Java,无依赖。 Javascript版本实现哈希算法,请查看:https://blog.terrynow.com/2021/05/05/javascript-html-hash-tool-md5-sha1-sha256/ 要用的时候,直接HashUtil.sha1("123456");HashUtil.md5("12…

2021-04-29 0条评论 111点热度 0人点赞 admin 阅读全文

如题,一个工具类,直接MD5.compute("123456"); 即可计算一个字符串的MD5。 如需要其他Hash算法,如SHA1 SHA-256等,请查看https://blog.terrynow.com/2021/04/29/java-hash-tool-md5-sha1-sha256/ public class MD5 { public static String compute(String source) { String result = null; try { byte[] valueByte = …

2021-04-28 0条评论 83点热度 0人点赞 admin 阅读全文

开发是否遇到需要比较字符串是否符合通配符的规则的需求,例如,判断字符串hello.world 是否符合hello.* (*代表若干个字符串)或者是否符合hello.?????(多少个问号就代表多少个字符) 我们利用正则表达式可以很容易的写出,为了便于复用,将类似需求整理成工具方法,方便调用,代码如下(示例写在main方法里了): import java.util.Arrays; import java.util.regex.Pattern; /** * @author Terry E-mail: yaoxinghu…

2021-04-22 0条评论 79点热度 0人点赞 admin 阅读全文
123456