본문 바로가기
JAVA

특정 위치에 파일 중복 여부 체크 하고 새로운 파일명 구하기 예제

by Hwoarang757 2023. 9. 7.

특정 위치에 파일 중복 여부 체크 하고 새로운 파일명 구하기 예제

특정위치에 동일한 파일명이 존재하는지 체크하고 , 동일한 파일명이 존재한다면 ex) 파일(1).jpg , 파일(2).jpg로 변경 처리하는 방안 입니다!

 

* 기존 C# 으로 예제를 만들어 놓은것을 JAVA 로도 작성 해 보았습니다.

import java.io.File;

import org.apache.commons.io.FilenameUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;


public class CommonUtils {

    private final static Logger logger = LogManager.getLogger(CommonUtils.class);

    public static String FileNameDupCheck(String fullPath) {

        if(new File(fullPath).exists()) {
            String reNamePath = "";

            String fileDir = FilenameUtils.getFullPath(fullPath);
            String fileName = FilenameUtils.getName(fullPath);
            String fileExtension = FilenameUtils.getExtension(fullPath);
            fileName = fileName.replace(String.format(".%s", fileExtension), "");
            String combinePath = "";

            int fileIdx = 1;
            while(true) {
                combinePath = String.format("%s%s(%d).%s", fileDir, fileName ,fileIdx, fileExtension );
                logger.info(String.format("Combine Path=[%s]", combinePath));

                if(new File(combinePath).exists() )
                    fileIdx++;
                else {
                    reNamePath = combinePath;
                    break;
                }
            }
            return reNamePath;
        }
        else
            return fullPath;

    }

}