본문 바로가기
공부(~2016)/Java

Simple CSV Reader - 자바 CSV 파일 읽기

by soy; 2013. 8. 15.
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by soy
 */
public class CSVReader {
    List〈person〉 personList = readPersonFromCSV("person.csv");

    private List〈person〉 readPersonFromCSV(String fileName) {
        List〈person〉 personList = new ArrayList<>();
        Path pathToFile = Paths.get(fileName);

        try (BufferedReader br = Files.newBufferedReader(pathToFile, StandardCharsets.UTF_8)) {
            String line;

            while ((line = br.readLine()) != null) {
                String[] datas = line.split(",");
                Person person = new Person(Integer.parseInt(datas[0]), datas[1], datas[2]);
                personList.add(person);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

        return personList;
    }
}

class Person {
    private int no;
    private String name;
    private String telephoneNumber;

    public Person(int no, String name, String telephoneNumber) {
        this.no = no;
        this.name = name;
        this.telephoneNumber = telephoneNumber;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("Person{");
        sb.append("name='").append(name).append('\'');
        sb.append(", no=").append(no);
        sb.append(", telephoneNumber='").append(telephoneNumber).append('\'');
        sb.append('}');
        return sb.toString();
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getTelephoneNumber() {
        return telephoneNumber;
    }

    public void setTelephoneNumber(String telephoneNumber) {
        this.telephoneNumber = telephoneNumber;
    }
}

가장 원초적인 방법으로 CSV 파일 읽기

댓글