상세 컨텐츠

본문 제목

자바 파일명 변경 (이미지 이름변경)

프로그램 언어/Java

by husks 2015. 3. 31. 18:25

본문

반응형


자바로 디렉토리안에 있는 제각각인 파일명을 순번을 적용하여 변경 및 정리하는 소스 입니다.

예전에 제가 이미지 명을 변경 하려고 개발한 소스 올립니다.


import java.io.*;


public class ImgNameChange {

	public static String allListFile(String dirPath, String header, int intLen){

		//디렉토리경로
		String filePath = dirPath;
		File path = new File(filePath);
		//하위파일들 파일배열에 넣는다.
		File[] list = path.listFiles();
		//저장될 파일명
		String fileName="";
		//변경될 파일명
		String newFileName="";
		//카운트 숫자 세기
		String intLength="";
		//숫자 앞에 붙일 0의 숫자 세기
		int zeroPlus;

		for (int i = 0; i < list.length; i++) {

			//스트링 형변환
			intLength = Integer.toString(i);
			//기준치에서 현재 자리수를 뺀다.
			zeroPlus= intLen-intLength.length();
			String imgNumber = "";
			//자리수 뺀만큼 돌려 앞에 0을 붙인다.
			for(int j = 0; j < zeroPlus; j++){
				imgNumber += "0";
			}
			//그리고 뒤에 파일 숫자를 붙인다.
			imgNumber+=i;

			//파일명을 저장
			fileName = list[i].getName();
			//변경전 파일명
			System.out.print(fileName+" => ");

			//확장자를 검색한다. jpg, bmp 2개만, 차후 추가, 해당 확장자가 많으면 배열에 넣고 검증한다.
			if(fileName.toLowerCase().indexOf(".jpg")>0){
				newFileName = header+imgNumber+".jpg";
			}else if(fileName.toLowerCase().indexOf(".bmp")>0){
				newFileName = header+imgNumber+".bmp";
			}else if(fileName.toLowerCase().indexOf(".png")>0){
				newFileName = header+imgNumber+".png";
			}else if(fileName.toLowerCase().indexOf(".gif")>0){
				newFileName = header+imgNumber+".gif";
			}else{//확장자가 벗어나면 파일명 그대로 셋팅
				newFileName = fileName;
			}

			//변경된 파일명
			System.out.println(newFileName);

			//실제로 파일명 변경해주는 부분
			list[i].renameTo(new File(filePath+newFileName));
		}

		//끝난거 알려주는 리턴값
		return "CHANGE_END";

	}

	public static void main(String[] args) {

		//변경할 디렉토리 경로
		String path = "C:/Documents and Settings/husk/바탕 화면/img/";
		//파일 헤더
		String header = "img_";
		//파일 카운트 자리수 5이면 00001 4이면 0001
		int intLength = 5;

		String status = allListFile(path, header, intLength);

		System.out.println(status);

	}

}


반응형

관련글 더보기

댓글 영역