阿里云试用OSS的API获取某个文件文件的地址,返回的是http的地址,官方的示例代码如下: String endpoint = "oss-cn-shanghai.aliyuncs.com"; OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); try { boolean exists = ossClient.doesObjectExist(bucketNameStatic, key); if (…

2023-01-28 0条评论 28点热度 0人点赞 admin 阅读全文

开发中常有需求将文件转成byte[]数组的场景,这里总结了一下几种常用的File转bytes的方式(直接转成bytes需要在内存里存放,所以仅使用文件不大的场景,如果遇到的文件很大,那么可能做法不是这样的,例如使用随机读取,一边读取一边处理等方式(RandomAccessFile)): 使用apache commons io 这个库,引入依赖: <dependency> <groupId>commons-io</groupId> <artifactId>commons…

2023-01-01 0条评论 55点热度 0人点赞 admin 阅读全文

默认情况下使用ApachePOI生成的单元格Cell,我们给Cell设置内容后,如果内容比较多,宽度不够的情况下,里面的文字是不换行的,如果希望文本换行,可以有两种做法 将单元格设置为文本自动换行(推荐) HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setWrapText(true); // 设置cellStyle格式为自动换行 cell.setCellStyle(cellStyle); // 给单元格cell设置cellStyle…

2022-12-24 0条评论 64点热度 0人点赞 admin 阅读全文

在网上看很多文章都在说自定义注解的语法,这谁不会,我要的是怎么在项目中用,什么时候自定义,如果你是这样的需求这篇文章一定可以满足你!老样子,文章很长很舒服,建议收藏反复阅读!喜欢记得点赞哦~ 本文章会从以下几点全面讲解Java注解: 注解概念和分类 自定义注解 通过SpringBoot + AOP实现 2个 自定义注解的应用案例 案例的深入优化,以及Spring框架中的相同注解源码 Java8重复注解和类型注解 从JDK5刚推出注解,到Java8的重复注解全面介绍Java注解的所有知识点,看完本篇文章你将会: 知道…

2022-12-15 0条评论 76点热度 0人点赞 admin 阅读全文

之前的文章有介绍利用Puppeteer部署Docker,生成截图,详见:https://blog.terrynow.com/2022/10/29/use-node-puppeteer-docker-mingalevme-screenshoter-as-service-to-fullscreen-screenshot-and-support-chinese/,不过并不能生成PDF,本次介绍另一个Docker镜像,是生成PDF的。 镜像地址是: https://hub.docker.com/r/hmtx/puppete…

2022-12-13 0条评论 92点热度 0人点赞 admin 阅读全文

一、前言 策略模式可能是在工作中使用最多的,也是在面试中最常提到的,代码重构和优化的必备!小编之前也是一直说,其实没有真正的实战;最近有了机会实战了一下,来分享一下使用心得和在企业级的使用! 二、策略模式 1. 什么是策略模式 策略模式,英文全称是 Strategy Design Pattern。在 GoF 的《设计模式》一书中,它是这样定义的: 定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它们的客户端(这里的客户端代指使用算法的代码)。 2. 策略模式结构组成 S…

2022-12-10 0条评论 70点热度 0人点赞 admin 阅读全文

Lombok使⽤ 同时使⽤@Data和@Builder ,构建无参构造器报错!编译不通过。如下图: Lombok使⽤@Data可以⽣成⽆参构造和类⾥⾯所有属性的getter/setter⽅法。可以简化我们代码的开发。(需要安装Lombok插件和引⼊Lombok依赖)。 例如下⾯的⼀个实体类,引⼊Lombok后,可以⾃动⽣成GET/SET⽅法和⽆参构造函数。 编译后的class为:可以看到不仅帮我们生成了get和set ,同时也有默认的无参构造器   那么怎么自动生成有参构造器呢?使用@Builder注解,…

2022-12-06 0条评论 85点热度 0人点赞 admin 阅读全文

默认情况下用ApachePOI生成的Excel,单元格Cell所在的那一列(Column)的宽度都很窄,用户下载后,需要每一个单元格都手动拉宽才能显示内容,比较不方便。 POI中可以有以上几种方式,从代码中设置单元格宽度: 宽度的参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度,20 * 256 就是20个字符的宽度 # 我们假设要给单元格设置宽度是20 (以下都要将需要的宽度乘以256传进去) # 设置Sheet下所有的单元格的默认宽度是20 sheet.setDefaultColum…

2022-11-29 0条评论 121点热度 0人点赞 admin 阅读全文

PDF本身对权限做了非常丰富的设定,例如编辑权限、打印权限等等。 itextPDF中对pdf文档的加密包括两部分,第一部分是用户密码,第二部分是所有者密码。 这两部分可以简单的理解为管理员密码和用户密码,因此我们在设置这两个密码的权限的时候,往往会将所有者密码的权限级别设置的更高,而用户密码权限往往是“只读”。 首先,在之前的基础上,我们要在引入一个jar包,bcprov-jdk15.jar 可以去maven里面下载或引入: <!-- https://mvnrepository.com/artifact/or…

2022-11-25 0条评论 103点热度 0人点赞 admin 阅读全文

我们有时候需要在GET的参数中传递参数,例如是byte[]类型的内容,一般来说是转成Base64的编码格式,但是带来一个问题是:base64编码后,里面可能会出现一些字符是url里面冲突的,例如=+/这些,虽然可以URLEncode进行编码,但这还是会给程序带来一些复杂度或者不确定性。 关于URL编码的详细规范,可以查看RFC 3986, 这里只对我们会涉及的信息做简要说明。 RFC 3986中有如下两个重要规定: Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、- _ . ~4个特殊字符以及所有保留字…

2022-11-23 0条评论 174点热度 0人点赞 admin 阅读全文
1234519