티스토리 뷰
728x90
반응형
1. 자바에서 CSV파일을 List of List로 불러오는 코드입니다.
파라미터 filePath에는 현재경로부터의 CSV 파일경로와 파일명을 입력해주시면 됩니다.
현재경로부터의 절대경로를 BASE_PATH에 받아오고, BASE_PATH와 filePath를 합쳐 CSV파일을 불러옵니다.
불러온 CSV파일은 List 타입으로 리턴됩니다.
public static List<List<String>> getCsv(String filePath) {
// 절대경로 가져오기
String BASE_PATH = new File("").getAbsolutePath();
// 현재경로부터의 CSV파일 경로 및 파일명
String FILE_PATH = BASE_PATH + filePath;
// 파일 읽어서 List 형태로 리턴
List<List<String>> list = new ArrayList<List<String>>();
try (
BufferedReader br = new BufferedReader(new FileReader(FILE_PATH))) {
Charset.forName("UTF-8");
String line;
while ((line = br.readLine()) != null) {
String[] token = line.split(",");
List<String> tempList = new ArrayList<String>(Arrays.asList(token));
list.add(tempList);
}
} catch (FileNotFoundException fnfe) {
System.out.println("File Not Found!");
fnfe.printStackTrace();
} catch (IOException ioe) {
System.out.println("Cannot Read File!");
ioe.printStackTrace();
}
return list;
}
2. 자바에서 CSV파일을 List of Map으로 불러오는 코드입니다.
파라미터 filePath에는 현재경로부터의 CSV 파일경로와 파일명을 입력해주시면 됩니다.
현재경로부터의 절대경로를 BASE_PATH에 받아오고, BASE_PATH와 filePath를 합쳐 CSV파일을 불러옵니다.
불러온 CSV파일은 List of Map 타입으로 리턴됩니다.
public static List<Map> readCsv(String path){
String BASE_PATH = new File("").getAbsolutePath();
String FILE_PATH = BASE_PATH + path;
List<Map> list = new ArrayList<Map>();
try (
BufferedReader br = new BufferedReader(new FileReader(FILE_PATH))) {
Charset.forName("UTF-8");
String line;
String[] columnName = br.readLine().split(",");
while ((line = br.readLine()) != null) {
String[] data = line.split(",");
Map<String, String> row = IntStream.range(0, columnName.length).boxed()
.collect(Collectors.toMap(i -> columnName[i], i -> data[i]));
list.add(row);
}
} catch (FileNotFoundException fnfe) {
System.out.println("File Not Found!");
fnfe.printStackTrace();
} catch (IOException ioe) {
System.out.println("Cannot Read File!");
ioe.printStackTrace();
}
return list;
}
3. 자바에서 JSON파일 불러오는 코드입니다.
파라미터 filePath에는 현재경로부터의 JSON 파일경로와 파일명을 입력해주시면 됩니다.
현재경로부터의 절대경로를 BASE_PATH에 받아오고, BASE_PATH와 filePath를 합쳐 JSON파일을 불러옵니다.
불러온 JSON파일은 Map타입으로 리턴됩니다.
/* open JSON */
public Map<String, Object> getJson(String filePath) throws IOException, ParseException{
JSONParser parser = new JSONParser();
// 절대경로 가져오기
String BASE_PATH = new File("").getAbsolutePath();
// 현재경로부터의 JSON파일 경로 및 파일명
String FILE_PATH = BASE_PATH + filePath;
// 파일 읽어서 Map타입 리턴
Reader reader = new FileReader(FILE_PATH);
JSONObject jsonObject = (JSONObject) parser.parse(reader);
Map<String, Object> r = null;
try {
r = new ObjectMapper().readValue(jsonObject.toString(), Map.class);
}catch (JsonParseException e) {
System.out.println("[ * ]----------------- ERROR ! JSON파일을 읽을 수 없습니다.");
}
return r;
}
728x90
반응형
'프로그래밍 > Java' 카테고리의 다른 글
[java] 자바에서 JSON API POST 데이터에 리스트 넣어서 호출하는 방법 (0) | 2023.04.27 |
---|---|
[java] json파일 읽어서 map으로 변환하기 (0) | 2023.04.25 |
[java] 자바에서 JSON API GET/POST 쉽게 호출하는 방법 (0) | 2023.01.20 |
[java] 접속자(사용자)의 접속기기가 PC인지 모바일인지 확인하기 (0) | 2022.12.14 |
[java] int 숫자 천단위마다 쉼표(comma) 찍기 (0) | 2022.10.21 |
댓글