본문 바로가기
프로그래밍/Java-자주쓰는예제

【Java-문자열】문자열 합치기

by 코이킹 2021. 9. 7.
반응형

1. 설명

 문자열이 담겨있는 List 또는 배열의 내용을 한줄의 문자열로 합치는 코드입니다. 
  DB에서 Select한 결과 또는 API의 응답을 csv파일이나 tsv 파일로 출력하는 간단한 배치 프로그램을 만들때 사용하면 편리합니다. 

 

2. 소스코드

- 메서드 

	public String makeRecordStr(String separator, List<String> list) {
		if (list == null || list.size() == 0) {
			System.out.println("separator="+separator + ", list="+list.get(0));
			return null;
		}
			
		
		int len = list.size();
		StringBuffer res = new StringBuffer("");
		
		for (int i = 0; i < len; i++) {
			 res.append(list.get(i));
			 if (len == 1 || i == (len - 1 )) break;
			 res.append(separator);
		}
		
		return res.toString();
	}
    
    
    public String makeRecordStr(String separator, String ...strs) {
		if (strs == null || strs.length == 0) {
			System.out.println("separator="+separator + ", strs="+strs[0]);
			return null;
		}
		
		int len = strs.length;
		StringBuffer res = new StringBuffer("");
		
		for (int i = 0; i < len; i++) {
			 res.append(strs[i]);
			 if (len == 1 || i == (len - 1 )) break;
			 if (separator != null) res.append(separator);
		}
		
		return res.toString();
	}



- 메인클래스

public class Str_02_AppendStr {

	public static void main(String[] args) {
		// Prepare data
		String [] exArray01 = new String [] {"test1","test2","test3","test4"};
		String [] exArray02 = new String [] {"test5","test6","test7","test8"};
		
		List<String> exList01 = Arrays.asList(exArray01);
		List<String> exList02 = Arrays.asList(exArray02);
		
		// Append String
		StrUtil util = new StrUtil();
		System.out.println("---------- Start ----------");
		
		System.out.println("---------- (1) makeRecodeStrCsvFormat Using Array----------");
		System.out.println(util.makeRecodeStrCsvFormat(exArray01));
		System.out.println(util.makeRecordStr(" ", exArray02));
		
		
		System.out.println("---------- (2) makeRecodeStrCsvFormat Using List----------");
		System.out.println(util.makeRecodeStrCsvFormat(exList01));
		System.out.println(util.makeRecordStr("\t", exList02));
		
	}

}

 

3. 실행결과 【Windows(이클립스) / Linux】

4. 전체코드

https://github.com/leeyoungseung/template-java

 

 

반응형

댓글