본문 바로가기
반응형

전체 글108

【Java-데이터】Json데이터를 Java 객체로 변환하기 1. 설명 이 포스트에서 다룰 예제는 "Json형식의 데이터를 데이터가 담기는 클래스의 객체로 변환"(역직렬화: Deserialization)해주는 코드입니다. 제가 경험한 업무에서 데이터 객체를 Json으로 변환하는 데 필요한 경우는 아래와 같은 흐름의 프로그램을 만들어할 때 였습니다. 1) API에 HTTP 요청 -> 2) Response body의 JSON데이터를 읽어오기 -> 3) 데이터 클래스의 객체에 데이터 매핑 -> 4) DB 또는 파일로 데이터 저장 예제코드 구현은 지난 포스트와 같이 동일하게 jackson-databind를 사용해서 구현했습니다 2. 소스코드 - 메서드 // (1) public JsonNode getJsonNode(File json) { if (json == null) r.. 2021. 9. 18.
【Java-데이터】객체를 Json형식의 데이터로 변환하기 1. 설명 이 포스트에서 다룰 예제는 DTO, VO와 같은 데이터가 담기는 "클래스의 객체를 JSON형식의 데이터로 변환" (=직렬화: Serialization)해주는 코드입니다. 제가 경험한 업무에서 데이터 객체를 JSON으로 변환하는 데 필요한 경우는 아래와 같은 흐름의 프로그램을 만들어할 때 였습니다. 1) DB 또는 파일의 원본 데이터 -> 2) 데이터 클래스의 객체에 데이터 매핑 -> 3) JSON변환 -> 4) API에 HTTP 요청시JSON을 Request Body에 넣고 요청 예제코드 구현은 대용량 JSON데이터를 처리하는데 있어 유리한 jackson-databind를 사용해서 구현했습니다 2. 소스코드 - 메서드 /** * Object -> JSON Str * * @param obj : .. 2021. 9. 17.
【Java-파일】파일과 디렉토리 삭제 1. 설명 이 포스트의 예제는 파일이나 디렉토리의 정보를 삭제하는 코드입니다. File클래스에서 제공하는 삭제기능을 사용할 때 디렉토리의 삭제의 경우 디렉토리 안에 파일이나 디렉토리가 존재한다면, 디렉토리가 삭제되지 않는 문제가 있습니다. 이를 해결하기 위해 재귀적으로 파일과 디렉터리를 삭제하는 기능을 구현했습니다. 2. 소스코드 - 메서드 public boolean delete(File target) throws Exception { // 파일또는 디렉토리가 있는지 확인 if ( target.isFile() || target.isDirectory() ) { // 디렉토리 인지 확인 if (target.isDirectory()) { // 디렉토리안에 파일이 존재하면 디렉토리안의 파일을 먼저 삭제해야함 f.. 2021. 9. 13.
【Java-파일】파일 정보보기 1. 설명 이 포스트의 예제는 파일이나 디렉토리의 정보를 Map에 담아서 가져오는 코드입니다. 2. 소스코드 - 메서드 public Map getFileInfo(String path) { File target = new File(path); if ( !target.exists() ) { return null; // 복사할 파일이나 디렉토리가 없다면 } Map map = new HashMap(); try { map.put("canonicalPath", target.getCanonicalPath()); map.put("absolutePath", target.getAbsolutePath()); String filename = target.getName(); map.put("name", target.getNam.. 2021. 9. 13.
【Java-파일】파일과 디렉토리에 권한부여하기 1. 설명 이 포스트의 예제는 파일이나 디렉토리에 리눅스에서 권한부여를 할때 사용하는 명령어 chmod처럼 숫자값을 사용하여 권한을 부여하는 코드입니다. 2. 소스코드 - 메서드 public boolean setPermission(String path, Integer permission) { File f = new File(path); if (!f.exists()) { return false; } File target = new File(path); boolean res = false; switch (permission) { case PERMISSION_X: res = setPermission(target,false,false,true); break; case PERMISSION_W: res = setP.. 2021. 9. 13.
【Java-파일】파일과 디렉토리 권한 확인하기 1. 설명 리눅스에서 ls -la 명령어를 실행하면 파일명과 함께 가장 왼쪽부분에 -rwxrw-r-- drwxrw-r-- 이러한 정보를 확인 할 수 있습니다. 이 정보는 파일 또는 디렉토리의 권한을 나타내는 정보로 4부분으로 다시 나눌 수 있습니다. -(파일) , d(디렉토리) rwx rw- r-- 파일인지 디렉토리인지 소유자 권한 그룹 권한 기타 다른 사용자 권한 rwx에서 r은 읽기권한, w는 쓰기 권한, x는 실행권한을 나타냅니다. ※ 권한이 없다면 -로 표시됨 다시 r은 숫자 4로 , w는 2로 , x는 1로 치환할 수 있습니다. 리눅스에서 파일이나 디렉토리에 권한부여를 할때 명령어 chmod로 숫자값을 사용하여 권한을 부여할 수 있습니다. chmod 755 {파일} 위 명령어에서 부여하는 권한은.. 2021. 9. 12.
【Java-파일】하위 디렉터리 내용을 포함해서 디렉토리 복사 1. 설명 이 포스트에서 다루는 예제는 하위 디렉터리를 포함해서 디렉터리를 복사하는 내용의 코드입니다. Java1.6이하 버젼의 기본 라이브러리에서는 하위디렉터리를 포함해서 복사하는 기능은 별도 제공하지 않으므로 재귀를 사용해서 하위 디렉터리를 포함해서 디렉터리의 전체내용을 복사하도록 구현했습니다. Java1.7이상의 경우 nio의 기능을 이용하시거나, Apache common의 FileUtil 라이브러리의 기능을 사용하시면 더 간단히 기능을 구현할 수 있습니다. 2. 소스코드 - 메서드 public boolean copys(File origin, File dest, boolean override) throws Exception { if (origin.exists()) { if (origin.isDire.. 2021. 9. 12.
【Java-파일】디렉토리생성 1. 설명 이 포스트에서 다루는 예제는 디렉토리를 생성하는 코드입니다. 2. 소스코드 - 메서드 public boolean makeDir(String path) { File f = new File(path); if ( f.exists() ) { return true; // 이미 존재하면 다시 생성할 필요는 없음 } return new File(path).mkdirs(); } - 메인 public class File_05_MakeDir { public static void main(String[] args) { try { for (String str : args ) { System.out.println("Param : "+str); } String path = args[0]; FileUtil fu = ne.. 2021. 9. 12.
【Java-파일】파일복사 1. 설명 이 포스트에서 다루는 예제는 파일을 복사하는 코드입니다. 2. 소스코드 - 메서드 public boolean copy(String originPath, String destPath, boolean rename) throws IOException { File originFile = new File(originPath); if ( !originFile.exists() ) { return false; // 복사할 파일 } File destFile = new File(destPath); if ( destFile.exists() && !rename ) { return false; // 결과 파일이 이미 존재하며, 덮어쓰기 플래그가 false라면 } InputStream is = null; OutputS.. 2021. 9. 12.
반응형