From 9835170cd70fa7b765864d1dcac3793a392f9b91 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Fri, 8 May 2026 10:40:06 +0900 Subject: [PATCH] =?UTF-8?q?=EB=82=A9=ED=92=88=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D=20=EC=8B=9C=20totalSize=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/service/DatasetAsyncService.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/com/kamco/cd/training/dataset/service/DatasetAsyncService.java b/src/main/java/com/kamco/cd/training/dataset/service/DatasetAsyncService.java index 0d46f35..8e5a92b 100644 --- a/src/main/java/com/kamco/cd/training/dataset/service/DatasetAsyncService.java +++ b/src/main/java/com/kamco/cd/training/dataset/service/DatasetAsyncService.java @@ -4,8 +4,11 @@ import com.kamco.cd.training.common.enums.LearnDataRegister; import com.kamco.cd.training.dataset.dto.DatasetDto.AddDeliveriesReq; import com.kamco.cd.training.dataset.dto.DatasetDto.DatasetMngRegDto; import com.kamco.cd.training.postgres.core.DatasetCoreService; +import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.stream.Stream; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; import org.springframework.scheduling.annotation.Async; @@ -76,6 +79,7 @@ public class DatasetAsyncService { datasetMngRegDto.setTitle(title); datasetMngRegDto.setMemo(req.getMemo()); datasetMngRegDto.setDatasetPath(req.getFilePath()); + datasetMngRegDto.setTotalSize(getDirectorySize(req.getFilePath())); // 선택한 폴더 안의 모든 파일 용량 합계 // 마스터 저장 datasetUid = datasetCoreService.insertDatasetMngData(datasetMngRegDto); @@ -126,4 +130,24 @@ public class DatasetAsyncService { } } } + + private Long getDirectorySize(String filePath) { + Path selectedPath = Paths.get(filePath); + + try (Stream paths = Files.walk(selectedPath)) { + return paths + .filter(Files::isRegularFile) + .mapToLong( + path -> { + try { + return Files.size(path); + } catch (IOException e) { + return 0L; + } + }) + .sum(); + } catch (IOException e) { + return 0L; + } + } }