쉼표로 구분 된 형식으로 파일을 구문 분석하는 가장 쉬운 방법은 아파치 공유 라이브러리를 사용하는 것입니다. 라이브러리는 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을 사용하는 것이 바람직합니다.