Java(功能篇)
在奋斗的大道
程序发烧友
展开
-
Java 跳出For循环总结
break语句可以跳出当前循环;break语句通常配合if,在满足条件时提前结束整个循环;break语句总是跳出最近的一层循环;continue语句可以提前结束本次循环;continue语句通常配合if,在满足条件时提前结束本次循环。java8 Stream 不支持关键字break 和continuejava8 Stream 通过return 关键字无法实现暂停/终止foreach 执行。情况一:无返回值函数/**原创 2023-01-13 13:52:21 · 8306 阅读 · 0 评论 -
Object 转Map,Map转Object方式总结
商品业务对象定义:ProductProduct product = new Product();product.setId(1L);product.setName("爱他美")product.setProductDt("2022-03-16")第一种:通过Alibaba Fastjson实现:pom.xml 文件依赖<dependency> <groupId>com.alibaba</groupId> <artifactId原创 2022-03-16 12:02:57 · 26747 阅读 · 0 评论 -
Solr 检索结果集List<SolrDocument> 转换为指定业务对象总结
前提说明:从solr结果集中取数据,取到了结果集,但是结果集是一个map,而我想要得到的是一个对象,怎么处理呢? 我总计如下三种方法:第一种:solrDocument中提供了一个获取每个field对应值的方法,使用此方法获取所有的field对应的值,set到类中:功能代码如下:privateList<Product>setProductData(SolrDocumentListlist){List<Product>datas=newAr...原创 2022-03-16 11:01:01 · 984 阅读 · 0 评论 -
Java 依据文件名后缀,获取Content-Type/Mime类型
枚举类代码MimeTypeEnumimport org.apache.commons.lang3.StringUtils;import lombok.Getter;/** * 依据文件后缀名返回ContentType * @author zzg * */@Getterpublic enum MimeTypeEnum { AAC("acc", "AAC音频", "audio/aac"), ABW("abw", "AbiWord文件", "application/x-原创 2022-03-15 16:47:39 · 3183 阅读 · 0 评论 -
SpringBoot 本地大文件分隔及其合并
需求背景:公司前端反馈使用pdf.js 加载超大pdf 文件,会出现内存泄露的情况。需要后台给出优化的方案。解决办法:将本地pdf 文件大于200M 的文件进行分隔。每个分隔文件大小为10M.后台核心代码如下:@RequestMapping(value = "/fileBlock") public ResponseEntity<String> fileBlock() throws IOException { // 定义分隔模块大小 long blockSize = 10原创 2021-08-27 14:32:01 · 1195 阅读 · 0 评论 -
Java itext为pdf 文件添加水印核心功能代码片段
/** * * @param content * @param pageRect * @param waterMarkContent 水印文字 */ private static void addWaterMark(PdfContentByte content, Rectangle pageRect, String waterMarkContent){ try { // 方式一:系统自带字体文件文件// String path= "C:\\Windows\\Font.原创 2021-08-04 19:02:22 · 367 阅读 · 0 评论 -
SpringBoot 文件下载功能 IE浏览器汉字乱码问题
问题描述:今天在实现文件下载并指定文件名称时,遇到文件下载在Google 浏览器下载正常,指定文件名称汉字未乱码,但是在IE11 浏览器上,指定文件名称汉字乱码。问题产生原因:Chrome浏览器可以自动执行两次URL解码,所以下载的文件名是正常。 IE浏览器只执行一次URL解码,所以下载的文件名是乱码解决思路:筛选请求头信息,判别是IE浏览器还是Google 浏览器,对文件名称做对应处理Chrome 浏览器指定文件下载名称仅重新指定编码格式="ISO-8859-1"IE浏览器指定文件下载原创 2021-04-22 15:14:51 · 468 阅读 · 0 评论 -
Eclipse 安装JavaFX
第一步:打开Eclipse并在Help 菜单中,然后选择 Install New Software… 选项,第二步:单击后,它将显示可用软件窗口,如以下屏幕截图所示单击Add…按钮。输入插件的名称为(Fx)eclipse。 接下来,提供以下链接 -http://download.eclipse.org/efxclipse/updates-released/2.3.0/site/第三步:添加插件后,会发现两个复选框:e(fx)clipse – install 安装和e(fx)clip.原创 2021-04-13 09:21:50 · 4700 阅读 · 2 评论 -
Java 解析文件后缀名(扩展名)方法总结
方式一:使用FilenameUtils.getExtension来获取扩展名maven 配置<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>Java 功能代码: File原创 2021-04-09 16:35:48 · 6511 阅读 · 0 评论 -
Java 手动分页
功能需求背景:今天负责短信后台定时任务时,需要定时向用户发送短信信息,但数据库记录的待发送记录数量比较大,无法一次查询出结果,需要手动分页。手动分页核心功能代码: Date now = DateUtils.getBeforeMouth(new Date(), -6); QueryWrapper<UcasProject> queryWrapper = new QueryWrapper<UcasProject>(); queryWrapper.ge("原创 2021-03-11 19:03:13 · 1344 阅读 · 1 评论 -
Java 功能篇之日期工具类封装
import org.apache.commons.lang3.time.DateFormatUtils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Locale; /** * 日期工具类, * 继承org.apache.commons.lang.time.DateUt.转载 2021-02-26 17:54:25 · 326 阅读 · 0 评论 -
Java 功能篇之 Object 转Map
工具类源码:import java.lang.reflect.Field;import java.util.HashMap;import java.util.Map;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class MapTransPojo {public static final Logger log = LoggerFactory.getLogger(MapTransPojo.class);原创 2021-02-26 17:50:27 · 657 阅读 · 0 评论 -
Java 读取jar内包资源文件和读取jar包外资源文件
Java 读取jar包内资源文件: # 读取jar 包内资源文件application.properties InputStream appPropertiesInputStream = ApplicationPropertiesHolder.class .getClassLoader().getResourceAsStream("application.properties"); if (ap原创 2021-02-05 11:19:33 · 875 阅读 · 5 评论 -
JDBC 之ResultSetMetaData获取列名字
ResultSetMetaData 功能结束:整个数据库的信息:表名、表的索引、数据库产品的名称和版本、数据库支持的操作(增、删、改、查等等)获取列名获取列名字有两种方式(1)getColumnName(int);(2)getColumnLabel(int);这两种方式有什么区别?项目实例:String sql = "select tb.sid as sid, tb.arch_sid as archSid, tb.unit_proj_sid as unitProjSid,原创 2021-02-02 19:05:16 · 1522 阅读 · 0 评论 -
Java 项目中记录错误日志的正确操作
public void test() { try { // 使用默认构造函数实实例化异常对象 throw new NullPointerException(); } catch (Exception e) { // 直接将异常对象传入日志接口,保存异常信息到日志文件中 logger.error("error: {}", e.getMessage(), e); e.printStackTrace(); }.原创 2021-01-27 16:45:08 · 1762 阅读 · 0 评论 -
Java 日期增加一天、一周、一月、三月和六月以及判断是否周末
1、日期增加指定日期public String isWeekendOrHoliday(String date, Integer type) throws ParseException { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date recorDate = format.parse(date); // 日历对象 Calendar cal = Calendar.getInstance();原创 2021-01-25 08:58:02 · 639 阅读 · 0 评论 -
Java 数据脱敏工具类
package com.digipower.common.util;import org.apache.commons.lang3.StringUtils;/** * 数据脱敏工具类 * @author zzg * */public class DesensitizationUtil { private static final int RIGHT=10; private static final int LEFT=6; /** * 收货地址数据脱敏 * 地址只显示到.原创 2021-01-21 10:56:58 · 1212 阅读 · 0 评论 -
Java Properties 读取xml 文件做字典数据
情况:今天上班时遇到一个头疼的情况,数据迁移工具中的数据字典类实例化失败(通过springframework 框架的ApplicationContext 全局上下文获取 字典服务连接数据库查询相关数据信息),我们先把这种方式归类为spring 动态注入方式,由于项目紧急,没有多余的时间允许我去排查问题是如何产生的,我临时涉及一种替代spring动态注入方式,设计思路(定义一个数据字典对象类,在调用构造函数时向数据字典对象类的Map属性注入字典值,字典值的存储方式分为:*.properties 和*.xm原创 2020-12-22 19:11:24 · 561 阅读 · 0 评论 -
Windows 通过CMD窗口利用mybatis-generator连接Oracle快速生成代码
环境说明:Windows10、JDK8、ojdbc6-11.2.0.4.jar、mybatis-generator-core-1.3.7.jar1、在C盘新建autoMybatis文件夹,文件夹中新建generator.xml文件,并将ojdbc6-11.2.0.4.jar 和mybatis-generator-core-1.3.7.jar拷贝至当前文件夹中:整体截图:配置文件如下:<?xml version="1.0" encoding="UTF-8"?><!DO原创 2020-11-04 18:46:15 · 273 阅读 · 0 评论 -
Java 中的java.sql.Date 与java.util.Date 互相转换
// sql Date 转换为util Datejava.sql.Date sqlDate = (java.sql.Date)result.getObject(i);java.util.Date utilDate = new java.util.Date(sqlDate.getTime());// utilDate 转换为sqlDatejava.util.Date utilDate = new java.util.Date(); //获取当前时间java.sql.Date sqlDa..原创 2020-11-04 18:35:56 · 449 阅读 · 0 评论 -
Java int 转月份位数不足使用0替代\BigDecimal 使用
String month = String.format("%02d",i);0代表前面要补的字符 2代表字符串长度 d表示参数为整数类型原创 2020-09-17 18:39:22 · 369 阅读 · 0 评论 -
Java 补全两个年份之间缺失的年份\计算两个日期相差年数
Java 功能代码: String startYear = entity.getString("startYear"); String endYear = entity.getString("endYear"); if(StringUtils.isEmpty(startYear)){ return Result.error("开始年份不能为空"); } if(StringUtils.isEmpty(endYear)){ LocalDateTime localD原创 2020-09-14 18:03:45 · 933 阅读 · 0 评论 -
Java 常用功能代码片段(获取当前年份、SpringBoot资源读取方式和类资源读取方式、Date日期大小比较、List 集合删除重复数据)
1、获取当前年份实现方式一:SimpleDateFormat + Datepublic static String getCurrentYear(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); Date date = new Date(); return sdf.format(...原创 2020-03-31 18:48:37 · 1399 阅读 · 0 评论 -
Java 常用功能代码片段(空格分割,lis和数组之间的相互转换)
1、以空格方式分割字符串str = "Hello I come from china";String[] splited = str.split("\\s+");2、字符串数组转换为List:实现方式一:使用Stream中的Collector收集器 String[] arrays = new String[]{"a", "b", "c"}; Li...原创 2020-03-29 18:47:01 · 739 阅读 · 0 评论 -
wkhtmltopdf 实现html 文档对象转换为pdf 文件核心功能代码
环境说明环境:windows10客户端软件:wkhtmltopdf记得配置wkhtmltopdf 全局环境变量,相关的安装步骤可以baidu或者googlewkhtmltopdf 安装包已经上传csdn:Java 核心功能代码添加wkhtmltopdf 客户端包装类依赖: <!--html 转 pdf --> <dependency...原创 2020-03-11 18:59:19 · 958 阅读 · 0 评论 -
ITextRenderer 生成PDF 文件
pom.xml 文件添加相关依赖: <!--html 转 pdf --> <dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId>flying-saucer-pdf</artifactId> <version&g...原创 2020-03-10 19:05:03 · 14318 阅读 · 5 评论 -
Java 不同对象之间的转换
1、Object 转MapObject 转 Map 对象 BeanMap beanMap = new BeanMap(item); Map<String, Object> map = new HashMap<String, Object>(); for (Map.Entry<Object, Object> entry : beanMap.entryS...原创 2020-03-06 18:58:27 · 1312 阅读 · 0 评论 -
OAuth2.0 授权模式,基于HttpClient 实现
功能代码如下:package com.zzg.ucas.config;import java.io.IOException;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.H...原创 2020-01-07 19:30:08 · 1903 阅读 · 0 评论 -
Java 获取过去12个月日期
业务功能要求:查询前12个月的相关数据统计 // 前 12个月日期 LocalDate today = LocalDate.now(); for(long i = 0L;i <= 11L; i++){ LocalDate localDate = today.minusMonths(i); String month = ...原创 2019-12-31 18:41:33 · 2748 阅读 · 0 评论 -
List Map String,Object 转换为fastjson JSONObject
今天在实现数据纵表拓展,所有的拓展信息是以键值对方式存储,绑定相关业务SID 实现数据的存储,但是前端的数据渲染又是基于对象模型的数据渲染,所有我们采用监理虚拟表存储相关拓展业务的字段信息。现在的问题是将指定业务SID 存储的键值对转换为指定虚拟业务对象。核心代码如下: List<Map> containers = new ArrayList<Map>(); /...原创 2019-10-17 15:54:00 · 844 阅读 · 0 评论 -
(java功能篇) jxl读取excel文本
jxl是一个韩国人写的java操作excel的工具, 在java的开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI(即jxl)。jxl功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 不依赖Windows系统,即使运行在Linux下,也同样能够正确的处理Excel文件。 需要补充说明的是,jxl对图形和图表的支持很有限,原创 2013-07-30 15:46:04 · 999 阅读 · 0 评论 -
(java功能篇) 基于Apache的Base64加密解密
Java BASE64加密解密Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作原创 2013-08-02 14:41:44 · 6101 阅读 · 1 评论 -
(Java功能篇)java版本 线程池实例代码
截图效果: 任务功能代码:package com.rf.pool;//任务对象public class SimpleThread extends Thread { // 相关参数 private boolean runningFlag;// 是否运行 private String argument; public boolean isRunni原创 2013-08-07 09:57:54 · 633 阅读 · 0 评论 -
(java功能篇)谷歌获取地址经纬度
package com.mohe.map;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.MalformedURLExcepti转载 2013-08-25 22:18:00 · 1151 阅读 · 0 评论 -
(java功能篇)百度获取地址经纬度
package com.mohe.map;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLEncoder;import java.util.HashMap;imp转载 2013-08-25 22:22:58 · 1383 阅读 · 0 评论 -
(java功能篇)通过百度获取IP地址对应的经纬度
/*** 获取指定IP对应的经纬度(为空返回当前机器经纬度)* * @param ip* @return*/public static String[] getIPXY(String ip) {String ak = "百度申请的Key";if (null == ip) {ip = "";}try {URL url = new URL("转载 2013-08-25 22:15:55 · 1003 阅读 · 0 评论 -
(Java功能篇)JAVA生成解析二维码
package com.mohe.twocode;import java.awt.Color;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.io.InputStream;im转载 2013-08-25 22:20:10 · 689 阅读 · 0 评论 -
(Java 功能代码) Java邮件发送
Java有自己的发送邮件的API,但是这个不在标准的API中,需要下载个javamail-1.4.3.zip,这个可以再sun的官网上找到,或者直接google。下载后解压有个mail.jar,需要加载为Referenced Libraries 具体做法:选择“项目”-->Build Path->"Add external Archieves" 选择你需要加载的jar Java原创 2013-08-28 09:34:58 · 644 阅读 · 0 评论 -
(Java 功能篇) Java 验证码
为了防止用户恶意,或者使用软件外挂提交一些内容,就得用验证码来阻止,虽然这个会影响用户体验,但为了避免一些问题很多网站都使用了验证码;今天下午参考文档弄了一个验证码,这里分享一下;这是一个web工程,首先是页面,这里只是一个显示验证码页面index.jsp,使用默认生成的就可以了,表单没有做提交,如下@ page language="java" import="java.util.*" p原创 2013-08-28 09:43:44 · 555 阅读 · 0 评论 -
(Java 功能篇) Java Proxool
本文题目没有强调的是Java应用,不是Java Web应用,原因是从网上找有关Proxool的例子,全是一个摸样,都是将讲解Java Web中的应用,真没劲,难道Proxool离开了web就不能用了?不信你可以google一把看看。 在阅读了Proxool的官方指南后,我写了个简单测试,扔出来,希望能对大家有用。 环境:JDK 1.5proxool-0.9.1.zipO原创 2013-08-28 09:48:28 · 873 阅读 · 0 评论