这是一片测试文章
我总想 这没用,那没用
那到底什么有用呢
只要做一点,就有一点的用处。
不做,只去用狭隘的眼光去评论,永远是最没用的。
package cn.kahun.test;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Objects;
public class ImageTypeTest {
/**
* jpg jpe jpeg 均为同一种类型
*/
private static final String IMAGE_JPG_FLAG = "FFD8FF";
private static final String IMAGE_PNG_FLAG = "89504E47";
public static void main(String[] args) throws IOException {
byte[] imageContent = Files.readAllBytes(Paths.get("/Users/prague/Pictures/testInvoice/red.jpeg"));
String type = confirmImageType(imageContent);
System.out.println(type);
}
private static String confirmImageType(byte[] imageContent){
byte[] typeBytes = new byte[4];
System.arraycopy(imageContent, 0, typeBytes, 0, 4);
String str = Objects.requireNonNull(bytesToHexString(typeBytes)).toUpperCase();
if (str.contains(IMAGE_JPG_FLAG)){
return "JPG";
}else if (str.contains(IMAGE_PNG_FLAG)){
return "PNG";
}else{
throw new RuntimeException("识别图片类型出错,目前只支持JPG、PNG");
}
}
/**
* 字符转16进制,根据前几位判断图片类型
* @param src imageContent
* @return str imageContent
*/
private static String bytesToHexString(byte[] src) {
StringBuilder stringBuilder = new StringBuilder();
if (src == null || src.length <= 0) {
return null;
}
for (byte b : src) {
int v = b & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
}
这是一篇测试文章,用来测试代码展示的。
确实是一篇没有啥用的文字,不过自己的博客,想怎么写就怎么写了。
单纯就是测试下为什么博客展示的代码背景为什么不是黑色的,然后怎么加右上角的代码复制功能。
如果你不幸点进来,恭喜你不小心浪费了5秒钟。
另外,来都来了。如果你知道怎么把代码背景改成黑色的话,告诉我。搞好请你喝奶茶。
正文到此结束
- 本文标签: 其他
- 本文链接: https://www.youtool.top/article/7
- 版权声明: 本文由adminM原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权