반응형
split을 활용한 csv파일 입력스트림 연습
1. 버퍼리더로 입력받은 한 줄 한줄의 값을 split을 활용해 반점을 기준으로 잘라 data배열에 담는다.
2. 담겨진 배열의 각 인덱스 값을 CountryData 생성자 파라미터에 맞게 입력되게끔 한다.
3. 생성된 CountryData객체를 CountryInfo리스트에 add한다.
4. 이 때 주의할 점은 첫 readLine은 csv파일의 header부분이기에 While문 밖에서 한 줄 읽은 다음 와일문이 동작되어야한다.
public class Main2 extends JFrame {
public static void main(String[] args) {
File file = new File("D:\\myfolder\\country.csv");
StringBuilder sb = new StringBuilder();
List<CountryData> countryInfo = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line = null;
String[] data = null;
br.readLine();
while ((line = br.readLine()) != null) {
data = line.split(",");
System.out.println(Arrays.toString(data));
CountryData cd = new CountryData(data[0], data[1], Integer.valueOf(data[2]), data[3],
Integer.valueOf(data[4]));
countryInfo.add(cd);
}
int sum = 0;
for (int i = 0; i < countryInfo.size(); i++) {
int pop = countryInfo.get(i).getPopulation();
sum += pop;
}
DecimalFormat decFormat = new DecimalFormat("###,###");
String str = decFormat.format(sum);
System.out.println(str);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
반응형
'국비지원' 카테고리의 다른 글
[JAVA]JDBC - DB Connection 활용 (0) | 2022.12.27 |
---|---|
[JAVA]JDBC - DB Connection (0) | 2022.12.26 |
[JAVA]IOstream - 1 (0) | 2022.12.26 |
[JAVA]122206 - Set , LinkedList, Queue, LinkedHashset, TreeSet, Map (0) | 2022.12.07 |
[JAVA]221205 - Collection (List, 제네릭, 이터레이터) (2) | 2022.12.07 |