다른 열 유형과 값을 가진 CSV 파일을 구문 분석해야하는 Java 코드를 작성하고 있습니다. 기본 파일은 머리글/열 행없이 다음과 같이 보입니다 (CSV). 파일을 처리 할 때 작업을 단순화하기 위해 열 이름을 사용하여 각 셀의 인덱스 값에 액세스 할 수 있어야합니다. 순간에 CSV 파서를 사용하고 싶지 않습니다. 열거 형은 C++에서와 같이 정수로 다시 변환하지 않기 때문에 CSV를 Java로 파싱 할 때 파일 열 이름과 위치 관리
Column1 | Column2 | Column3 |...
--------+---------+---------+---
val10 | val20 | val30 |
val11 | val21 | val31 |
val12 | val22 | val32 |
... | ... | ... |
나는, (순서대로) 열 이름의 ArrayList의 사용에 대한 생각했다. 이렇게하면 다음과 같은 것을 할 수 있습니다.
ArrayList<String> columnNames = new ArrayList<String>();
columnNames.add("Column1");
columnNames.add("Column2");
columnNames.add("Column3");
// read each line from the file ...
String[] row = line.trim().split(",");
String col2 = row[ columnNames.indexOf("Column2") ];
저는이 기능을 더 잘/현명한 방법으로 사용하고 있습니까? 감사.
List<Map<String,String>> records = someCodeForReadingDataFromFile();
당신에게 각 라인을 분할 장소 :
예, CSV 파서를 사용하십시오. 이것과 같이 : http://opencsv.sourceforge.net/#javabean-integration – artbristol