java
URL의 이미지 파일 분할저장
기계새
2019. 10. 10. 12:06
private static List<String> getFilePathListByImage(String url, String localPath, String extension) throws IOException {
BufferedImage bi = ImageIO.read(url);
int totalHeight = bi.getHeight();
int splitSize = (totalHeight / SPLIT_RULE_HEIGHT) + 1;
List<String> splitFileNmList = new ArrayList<>();
for (int i = 0; i < splitSize; i++) {
String splitFileNm = "fileName_" + i;
File outputFile = new File(localPath + splitFileNm + "." + extension);
int ySize = SPLIT_RULE_HEIGHT * i;
int height = SPLIT_RULE_HEIGHT;
if ((i + 1) == splitSize) {
height = totalHeight % SPLIT_RULE_HEIGHT;
}
if (height == 0) {
continue;
}
BufferedImage subImage = bi.getSubimage(0, ySize, bi.getWidth(), height);
ImageIO.write(subImage, extension, outputFile);
splitFileNmList.add(splitFileNm);
}
return splitFileNmList;
}