JAVA

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

Hwoarang757 2023. 9. 7. 15:45

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

특정위치에 동일한 파일명이 존재하는지 체크하고 , 동일한 파일명이 존재한다면 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;

    }

}