Java CSV 읽기 및 쓰기 소스 코드 구현

2663 단어
CSV 파일은 Excel이 식별할 수 있는 접두사 이름이 CSV인 파일을 가리키며, 사이트 시스템 백그라운드에서 분석 데이터를 저장할 때 사용할 수 있다.사실 CSV 파일은 읽기와 쓰기가 비교적 간단하고 주요한 기술점은 파일의 읽기와 쓰기이다.그러나 CSV 파일의 분석과 생성은 어느 정도 대표적이다. CSV 파일의 생성과 분석의 실현을 통해 백그라운드에서 대량 데이터를 처리하는 간단한 사고방식을 이해할 수 있다.
Excel을 열고 새 파일을 만들고 그 안에 데이터를 마음대로 입력한 다음 CSV 파일로 저장합니다. 다시 Excel로 열 때 sheet가 하나밖에 없습니다.수첩으로 이 파일을 열면 다음과 같은 데이터를 볼 수 있습니다.aaa,bbb,ccc,ddd aaa2,bbb2,,ddd2 aaa3,bbb3,ccc3, aaa4,bbb4,ccc4,ddd4
데이터를 자세히 살펴보면 다음 사항을 확인할 수 있습니다.
  • CSV 파일은 바이너리가 아닌 텍스트 파일입니다
  • 파일의 한 줄이 Excel에 표시됩니다
  • 같은 줄의 데이터는 반각 쉼표로 구분된다

  • 위의 법칙을 발견하면 우리는 스스로도 CSV 파일을 생성할 수 있다.CSV 파일을 간단하게 분석할 수도 있습니다.
     csv :
    
    import java.io.FileWriter;
    import java.io.IOException;
    
    /**
     *  csv 
     * @title: CsvCreater  
     * @description:   
     * @version 1.0
     */
    public class CsvCreater {
     public static void main(String[] args) {
      try {
       FileWriter fw = new FileWriter("C:\\CsvCreater.csv");
       fw.write("aaa,bbb,ccc,ddd,eee,fff,ggg,hhh
    "); fw.write("aa1,bb1,cc1,dd1,ee1,ff1,gg1,hh1
    "); fw.write("aaa
    "); fw.write("aa2,bb2,cc2,dd2,ee2,ff2,gg2,hh2
    "); fw.close(); } catch (IOException e) { e.printStackTrace(); } } }
     csv :
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /**
     * csv 
     * @title: CSVAnalysis  
     * @description:   
     * @version 1.0
     */
    public class CSVAnalysis {
    	public static void main(String[] args) {
    		InputStreamReader fr = null;
    		BufferedReader br = null;
    		try {
    			fr = new InputStreamReader(new FileInputStream("C:\\CsvCreater.csv"));
    			br = new BufferedReader(fr);
    			String rec = null;
    			String[] argsArr = null;
    			while ((rec = br.readLine()) != null) {
    				argsArr = rec.split(",");
    				for (int i = 0; i < argsArr.length; i++) {
    					System.out.print("num " + (i + 1) + ":" + argsArr[i] +"\t");
    				}
    				System.out.println();
    			}
    		} catch (IOException e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				if (fr != null)
    					fr.close();
    				if (br != null)
    					br.close();
    			} catch (IOException ex) {
    				ex.printStackTrace();
    			}
    		}
    	}
    }

     
     

    좋은 웹페이지 즐겨찾기