728x90
반응형
원하는 경로의 파일명을 검색하여 값을 추출
*미리 파일이 생성돼 있어야 한다.
▷ Example
- 파일의 내용은 json 형태이고, 한 줄만 있다고 가정
*개선 2024-11-26
public void testReadFile() {
try {
// 파일 찾기 (파일명 "TestTxt.txt"로 시작하는 파일)
File[] files = new File("C:/testFolder/").listFiles((file, name) -> name.startsWith("TestTxt.txt"));
if (files != null && files.length > 0) {
// 파일 읽기 (한 줄만 읽음)
BufferedReader br = new BufferedReader(new FileReader(files[0]));
String line = br.readLine();
System.out.println("읽은 내용(한줄): " + line);
br.close(); // 파일을 다 읽었으면 닫기
// 읽은 파일을 JSON Object로 변환
JSONObject jsonObj = (JSONObject) new JSONParser().parse(line);
// 키 값으로 값 추출
System.out.println("no: " + jsonObj.get("no"));
System.out.println("name: " + jsonObj.get("name"));
System.out.println("age: " + jsonObj.get("age"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
읽은 내용(한줄): {"no":"01", "name":"홍길동", "age":"19"}
no: 01
name: 홍길동
age: 19
*개선 전
public void testReadFile(){
try {
// 파일 찾을 경로
File searchPath = new File("C:/testFolder/");
// 파일 찾기
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File file, String name) {
// 찾을 파일명("TestTxt.txt"로 시작하는 파일)
return name.startsWith("TestTxt.txt");
}
};
// 찾은 파일
File files[] = searchPath.listFiles(filter);
System.out.println("찾은 파일 갯수" + files.length);
// 찾은 파일이 있으면
if(files.length > 0 ) {
// 찾은 파일 읽기
// 테스트 파일은 한 줄만 존재
BufferedReader br = new BufferedReader(new FileReader(files[0]));
String line = br.readLine();
br.close();
System.out.println("읽은 내용(한줄) : " + line);
// 읽은 파일을 JSON Object로 변환
JSONParser parser = new JSONParser();
JSONObject jsonObj = (JSONObject) parser.parse(line);
// 키 값으로 값 추출
String no = (String) jsonObj.get("no");
String name = (String) jsonObj.get("name");
String age = (String) jsonObj.get("age");
System.out.println("추출한 값 no: " + no);
System.out.println("추출한 값 name: " + name);
System.out.println("추출한 값 age: " + age);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/*
결과 :
읽은 내용(한줄) : {"no":"01", "name":"홍길동", "age":"19"}
추출한 값 no: 01
추출한 값 name: 홍길동
추출한 값 age: 19
*/
▷ 관련 글
파일 생성하기
파일의 내용을 채워 원하는 경로에 파일 생성 *원하는 경로에 폴더가 존재해야 한다. *폴더 유/무에 따라 폴더를 생성하는 로직은 반영 안함 ▷ Example - 파일의 내용은 json 형태이고, 한 줄만 있다
coding-today.tistory.com
728x90
728x90
'▶ Back-End > Java' 카테고리의 다른 글
@EventListener Example (0) | 2021.05.18 |
---|---|
파일 생성하기 (0) | 2021.05.13 |
날짜 비교 (0) | 2021.05.04 |
JSON 응답 필드 Null 값 제외(@JsonInclude) (0) | 2021.04.30 |
해당 월 말일 산출 (0) | 2021.04.23 |
댓글