반응형
2차원배열 형태로 텍스트파일 읽기
표 형식의 데이터를 텍스트 파일로 관리할 때가 있습니다.
대표적으로 CSV형식의 파일이 있습니다.
금융권 프로젝트의 경우 DRM문서보완에 의해 파일 사용에 제약이 따릅니다.
엑셀 등의 데이터를 Text-file화하여 프로그램에서 사용할 때 주로 이용하고 있습니다.
파일의 내용을 구분자( Delimeter )로 분할하여 2중배열로 가져오는 소스입니다.
■ SOURCE
public static ArrayList<ArrayList<String>> readArr2( String strFilePath ) {
ArrayList<ArrayList<String>> arr2Result = new ArrayList<ArrayList<String>>();
try {
@SuppressWarnings("resource")
BufferedReader br = new BufferedReader( new FileReader( new File( strFilePath ) ) );
String strLine;
while( ( strLine = br.readLine() ) != null ) {
if( strLine.trim().isEmpty() ) continue;
String[] saCol = strLine.split( "\\^" ); // 구분자 : ^
ArrayList<String> arrLine = new ArrayList<String>();
for( int i = 0; i < saCol.length; i++ ) {
arrLine.add( saCol[i].trim() );
}
arr2Result.add( arrLine );
}
}catch( Exception ex ) {
ex.printStackTrace();
System.exit(0);
}
// 결과 반환
return arr2Result;
}
별도 함수로 구현하여, 여러 곳에서 호출하여 사용할 수 있도록 하였습니다.
입력파라미터( strFilePath )로 파일의 경로를 받아 처리합니다.
파일의 데이터 분할하는 구분자도 입력파라미터로 받는다면 좀 더 범용적으로 사용할 수 있을 것입니다.
※ 참고
- 링크 ☞ String.split()를 이용한 데이터 분할하기
반응형
'Study > Java' 카테고리의 다른 글
Collections.sort()를 이용하여 데이터(배열) 정렬하기 (0) | 2020.01.04 |
---|---|
JDK( Java SE Development Kit ) 설치하기 (0) | 2020.01.01 |
[Java] String.split()를 이용한 데이터 분할하기 (0) | 2019.12.20 |
[Java] HashMap를 이용한 데이터 그룹핑하기 (0) | 2019.12.20 |
[Java] 디렉토리 및 하위 디렉토리에 있는 파일목록 추출하기 (0) | 2019.12.20 |