如何实现自增 01,02,03,…10;的文件编号:
public static void main(String[] args) {
//String.format()方法的作用就是格式化输出参数. “%02d”是指定输出格式,%作先导标记,0表示自动补0, 2的意思是最小长度为2(如果用4,则1输出0001),d表示整数。
System.out.println(String.format("%02d",1)); //01
System.out.println(String.format("%02d",5)); //02
System.out.println(String.format("%02d",25)); //03
}
将list 数组中的数据,转换成字符串 中间用逗号(,) 分割
List<String> list = new ArrayList<>();
list.add("111");
list.add("222");
list.add("333");
list.add("444");
list.add("555");
System.out.println(list); // [111, 222, 333, 444, 555]
// 方法一:
String join1 = String.join(",",list); // 111,222,333,444,555
// 方法二:
String join2 = Joiner.on(',').join(list); //111,222,333,444,555
//方法三:
String collect = list.stream().collect(Collectors.joining()); //111222333444555
String分组
public static List<String> StringSplit() {
int packetNum = 9;//分成几组
String str = "123456789012345678901234567890";//要分组的字符串
List<String> list =new ArrayList<String>();
int packetLength = str.length()/packetNum;
for (int i = 0; i < packetNum-1; i++) {
list.add(str.substring(i*packetLength, i*packetLength+packetLength));
}
list.add(str.substring((packetNum-1)*packetLength, str.length()));
return list;
}
数组分组
public static List<byte[]> ByteArraySplit() {
List<byte[]> list =new ArrayList<byte[]>();
int packetNum = 9;//分成几组
byte[] byteArray = new byte[]{1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0};//要分组的数组
int packetLength = byteArray.length/packetNum;
for (int i = 0; i < packetNum-1; i++) {
byte packetByte[] = new byte[packetLength];
System.arraycopy(byteArray, i*packetLength, packetByte, 0, packetLength);
list.add(packetByte);
}
byte endPacketByte[] = new byte[byteArray.length-(packetNum-1)*packetLength];
System.arraycopy(byteArray, (packetNum-1)*packetLength,endPacketByte, 0, endPacketByte.length);
list.add(endPacketByte);
return list;
}
图片上传zip
String suffix = FileUtil.getSuffix(file.getOriginalFilename()).toLowerCase();
if (!suffix.equals("png") && !suffix.equals("jpg") && !suffix.equals("jpeg") && !suffix.equals("zip")) {
return R.failed("请上传图片PNG/JPG/JPEG文件或者ZIP压缩文件");
}
if(suffix.equalsIgnoreCase("zip")) {
String uuid1 = UUID.randomUUID().toString().trim().replaceAll("-", "");
String uuid2 = UUID.randomUUID().toString().trim().replaceAll("-", "");
String outpath = deployConfig.getTmpPath() +"/"+uuid1;
File outTemFile = new File(deployConfig.getTmpPath() + "/" + uuid2 + ".zip");
if (!outpath.isEmpty()){
FileUtil.mkdir(outpath);
}
if (!outTemFile.exists()){
FileUtil.mkdir(outTemFile);
}
file.transferTo(outTemFile);
File outFile = FileUtil.file(outpath);
ZipUtil.unzip(outTemFile, outFile, Charset.forName("GBK"));
List<File> imageFiles = FileUtil.loopFiles(outFile);
for(File image: imageFiles) {
String fileSuffix = FileUtil.getSuffix(image.getName()).toLowerCase();
if(!fileSuffix.equals("png") && !fileSuffix.equals("jpg") && !fileSuffix.equals("jpeg")) {
continue;
}
ImageClsData imageClsData = new ImageClsData();
imageClsData.setRecordStatus(CategorizeImageDataStatus.UN_LABEL);
BufferedImage img = ImgUtil.read(image);
imageClsData.setHeight(img.getHeight());
imageClsData.setWidth(img.getWidth());
Attach attach = ossEndPoint.putAttach(new InMemoryMultipartFile(image)).getData();
imageClsData.setAttach(attach.getId());
imageClsData.setFilename(attach.getOriginalName());
imageClsData.setAttachSize(attach.getAttachSize());
categorizeImageDataRepository.save(imageClsData);
}
FileUtil.del(outFile);
FileUtil.del(outpath);
FileUtil.del(outTemFile);
}
if (suffix.equals("png") || suffix.equals("jpg") || suffix.equals("jpeg")) {
InputStream is = null;
is = file.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > -1) {
baos.write(buffer, 0, length);
}
baos.flush();
InputStream stream2 = new ByteArrayInputStream(baos.toByteArray());
MultipartFile file2 = new InMemoryMultipartFile(file.getOriginalFilename(), stream2);
Attach attach = ossEndPoint.putAttach(file2).getData();
InputStream stream3 = new ByteArrayInputStream(baos.toByteArray());
BufferedImage img = ImgUtil.read(stream3);
ImageClsData imageClsData = new ImageClsData();
imageClsData.setRecordStatus(CategorizeImageDataStatus.UN_LABEL);
imageClsData.setAttach(attach.getId());
imageClsData.setFilename(attach.getOriginalName());
imageClsData.setWidth(img.getWidth());
imageClsData.setHeight(img.getHeight());
imageClsData.setAttachSize(attach.getAttachSize());
categorizeImageDataRepository.save(imageClsData);
}
return R.success();
}
//替换字符串中特殊符号及空格和换行
String deleteNotBrHtml = Pattern.compile("<br([^>]*)>")
.matcher(rawData.getText()).replaceAll("").replaceAll("</br>", "")
.replaceAll(" ", "");
String div = Pattern.compile("<div([^>]*)>")
.matcher(deleteNotBrHtml).replaceAll("").replaceAll("</div>", "")
.replaceAll(" ", "");
String deleteNotCl = Pattern.compile("\\s*|\t|\r|\n").matcher(div)
.replaceAll("");
String text = StrUtil.replace(deleteNotCl, StrUtil.SPACE, StrUtil.EMPTY);
sql 修改文件名称中带路径的截取实现
如:1/ZE003-01-000236/ZE003-01-000236-000010/ZE003-01-000236-000010.pdf
修改成
ZE003-01-000236-000010.pdf
UPDATE ai_sensitive_appraisal_file
SET ai_sensitive_appraisal_file.fileName = SUBSTRING_INDEX(ai_sensitive_appraisal_file.fileName, '/', -1)
WHERE taskId = '1074633794150989824';