티스토리 뷰

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
반응형
댓글