Compare commits

...

7 Commits

6 changed files with 76 additions and 16 deletions

View File

@ -23,7 +23,7 @@ gitee:https://gitee.com/jzsw-it/yexuejc-base
### 使用
>yexuejc.base.version=1.4.1
>yexuejc.base.version=1.4.5
pom.xml
```

View File

@ -1,6 +1,12 @@
yexuejc-base 更新记录
------------------
#### version 1.4.5
**time2022-5-9 13:37:31** <br/>
**branch** master <br/>
**update** <br/>
>1. 扩展FileUtil,优化Base64的包
#
#### version 1.4.4
**time2021-4-24 00:41:31** <br/>
**branch** master <br/>

View File

@ -6,7 +6,7 @@
<groupId>top.yexuejc</groupId>
<artifactId>yexuejc-base</artifactId>
<version>1.4.4</version>
<version>1.4.5</version>
<name>${project.artifactId}</name>
<url>https://github.com/yexuejc/yexuejc-base</url>

View File

@ -1,13 +1,12 @@
package com.yexuejc.base.util;
import sun.misc.BASE64Encoder;
import java.io.*;
import java.math.BigInteger;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.logging.Logger;
import java.util.zip.CRC32;
@ -286,7 +285,17 @@ public class FileUtil {
* @param file
* @return
*/
public static String base64(File file) {
public static String base64ToStr(File file) {
return new String(base64(file));
}
/**
* 获取文件base64
*
* @param file
* @return
*/
public static byte[] base64(File file) {
FileInputStream fileInputStream = null;
byte[] data = null;
// 读取图片字节数组
@ -300,8 +309,22 @@ public class FileUtil {
e.printStackTrace();
}
// 对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);
return Base64.getEncoder().encode(data);
}
/**
* base64转文件
* <p>
* <i>
* 文件转base64请使用 {@link FileUtil#base64(File)}
* </i>
*
* @param decode {@link FileUtil#base64ToStr(File)} 的结果
* @param fileName 文件名称包含路径
* @return 返回保存地址
*/
public static String base64ToFile(String decode, String fileName) {
return base64ToFile(Base64.getDecoder().decode(decode.getBytes()), fileName);
}
/**

View File

@ -1,7 +1,5 @@
package com.yexuejc.base.util;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
@ -11,6 +9,7 @@ import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.Proxy;
import java.net.URL;
import java.util.Base64;
import java.util.Iterator;
/**
@ -47,8 +46,7 @@ public class ImgUtil {
e.printStackTrace();
}
// 对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data.toByteArray());
return new String(Base64.getEncoder().encode(data.toByteArray()));
}
/**
@ -237,7 +235,7 @@ public class ImgUtil {
* @return String 编码后的字符串
*/
public static String encode(byte[] bytes) {
return new BASE64Encoder().encode(bytes);
return new String(Base64.getEncoder().encode(bytes));
}
/**
@ -248,10 +246,7 @@ public class ImgUtil {
* @throws IOException
*/
public static byte[] decode(String encodeStr) throws IOException {
byte[] bt = null;
BASE64Decoder decoder = new BASE64Decoder();
bt = decoder.decodeBuffer(encodeStr);
return bt;
return Base64.getDecoder().decode(encodeStr);
}
/**

View File

@ -0,0 +1,36 @@
package com.yexuejc.base.util;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class JsonUtilTest {
public static void main(String[] args) {
TestA testA = new TestA("张三", 1, false);
System.out.println(JsonUtil.json2Obj(JsonUtil.obj2Json(testA), Map.class));
List<TestA> list = new ArrayList<>();
list.add(testA);
list.add(testA);
list.add(testA);
System.out.println(JsonUtil.json2Obj(JsonUtil.obj2Json(list), List.class,TestA.class));
}
static class TestA implements Serializable {
public String name;
public Integer id;
public Boolean sex;
public TestA() {
}
public TestA(String name, Integer id, Boolean sex) {
this.name = name;
this.id = id;
this.sex = sex;
}
}
}