2018. 3. 18. 11:56
반응형

엑셀이나 메모장 등의 편집기를 통해 csv 파일을 만들 수 있다.

이렇게 일정한 형식을 가진 문서를 자바에서 처리할 필요가 있을 경우가 있다.

csv 파일의 값을 가져와서 그대로 db에 넣거나, 약간의 가공을 해서 db에 넣는 등등

가공없이 그대로 데이터베이스에 넣을때는 csv를 바로 import 시킬 수도 있지만


어쨌든 다음 예제를 그대로 따라하면 대충 감이 잡힐 것이다.

파일 위치는 간단하게 바로 d드라이브 밑에 만들었다.

열 구분은 쉼표로 되는 경우가 많다.

하지만 경우에 따라서 탭이나 다른 것으로 구분되는 경우가 있는데, 경우에 맞게 프로그래밍을 하면 된다.

탭의 경우 \t를 적어주면 된다.


public class CSVTest {
	public static void main(String[] args) {
		BufferedReader br = null;
		String line;
		String path = "D:/test.csv";
		try {
			br = new BufferedReader(new InputStreamReader(new FileInputStream(path), "UTF-8"));
			//br = new BufferedReader(new FileReader(path)); // 이렇게도 가능
			while((line = br.readLine()) != null) {
				//String[] temp = line.split("\t"); // 탭으로 구분
				String[] temp = line.split(","); // 쉼표로 구분
				for(int i=0; i<temp.length; i++) {
					System.out.print((i+1)+"열: "+temp[i]);
					if(i!=temp.length-1) System.out.print(", ");
					else System.out.println();
				}
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

반응형