오늘은 아래 사이트의 opencsv라는 라이브러리를 이용해 csv 파일을 읽어오는 방법에 대해 알아 보겠습니다.
https://mvnrepository.com/artifact/com.opencsv/opencsv
build.gradle(Module)에서 아래와 같이 의존성을 추가해줍니다.
implementation 'com.opencsv:opencsv:5.6'
그 후 asset 폴더를 아래와 같이 생성 후 읽어 올 csv 파일을 넣어 줍니다.
제가 읽어올 파일은 동물 병원 정보가 담긴 csv 파일 입니다.
assets 파일을 읽기 위해서는 assetManager를 사용해야 합니다.
open을 통해 inputStream을 가져온 후 CSVReader에 inputStreamReader를 사용해서 읽어들입니다.
이때 InputStreamReader 객체를 생성 해주실 때 인코딩을 지정 안해주시면 한글이 깨질 수 있습니다.
private void loadData() throws IOException, CsvException {
AssetManager assetManager = this.getActivity().getAssets();
InputStream inputStream = assetManager.open("hospital.csv");
CSVReader csvReader = new CSVReader(new InputStreamReader(inputStream, "EUC-KR"));
List<String[]> allContent = (List<String[]>) csvReader.readAll();
for(String content[] : allContent){
StringBuilder sb = new StringBuilder("");
Log.d("csv", content[19] + " 병원명: " + content[21] + " X: " + content[26] + " Y: " + content[27] );
}
}
[결과]
'Android' 카테고리의 다른 글
Android - JUnit 단위 테스트 (0) | 2023.07.04 |
---|---|
Android - GitHub에 API Key, Hash 값 숨기기 (0) | 2023.01.05 |
Android - 아키텍쳐 패턴 (MVVM) (3) | 2022.09.22 |
안드로이드 - Kotlin login 구현 (PHP, mysql, volley) (0) | 2022.08.04 |
Android - Mac북 에뮬레이터 인터넷(와이파이 안될 경우) (1) | 2022.08.04 |