쉼표로 구분 된 형식으로 파일을 구문 분석하는 가장 쉬운 방법은 아파치 공유 라이브러리를 사용하는 것입니다. 라이브러리는 Excel에서 내 보낸 형식을 구문 분석 할 수 있습니다. jar 파일은 maven의 메인 저장소에서 사용할 수 있습니다.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.4</version>
<type>jar</type>
</dependency>
이 예제는 매개 변수로 전달 된 경로에서 파일을로드합니다. 파일은 FileReader를 사용하여로드됩니다. 그런 다음 Excel 형식을 사용하여 Reader를 구문 분석하여 CSVParser를 만듭니다. 이 예는 Google 웹 마스터 도구에서 내 보낸 파일을 기반으로합니다. 첫 번째 줄에는 파일의 헤더가 들어 있으며 주 루프에서 별도로 처리해야합니다. 헤더가 처리되면 모든 레코드를 처리 할 수 있습니다. 여기, 우리는 그것들을 출력에 씁니다.
import org.apache.commons.csv.CSVRecord;
import org.apache.commons.csv.CSVParser;
import java.io.FileReader;
import java.io.Reader;
import org.apache.commons.csv.CSVFormat;
public class ParseCSVFile {
public void processFile(String file){
try {
Reader in = new FileReader(file);
CSVParser parser = CSVFormat.EXCEL.parse(in);
// Loop on all the records of the file
recordsLoop:for (CSVRecord record : parser) {
// Process the headers in the first line
if( record.getRecordNumber() == 1 ){
System.out.println( record.get( 0 ) + "\t" + record.get( 1 ) + "\t" + record.get( 2 ) + "\t" + record.get( 3 ) );
continue recordsLoop;
}
// Display the current record
System.out.println( record.get( 0 ) + "\t" + record.get( 1 ) + "\t" + record.get( 2 ) + "\t" + record.get( 3 ) );
// We only display the first 2 records
if( record.getRecordNumber() == 3 )
break;
}
} catch( Exception e ){
e.printStackTrace();
}
}
public static void main(String[] argv){
ParseCSVFile csvFile = new ParseCSVFile();
csvFile.processFile( "SearchAnalytics.csv" );
}
}
Pages Clicks Impressions CTR http://oliviertech.com/java/generate-SHA1-hash-from-a-String/ 436 8445 5.16% http://oliviertech.com/java/generate-SHA256--SHA512-hash-from-a-String/ 380 5826 6.52%
CSV 형식의 파일은 편리하고 읽기 쉽습니다. 가장 큰 단점은 CSV로 내보내는 도구가 다시 가져 오지 않아 형식이 오류가 발생하기 쉽다는 점입니다. xml을 사용하는 것이 바람직합니다.