반응형

자바 5

com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $ 해결하기

MalformedJsonException을 해결하는 방법을 포스팅하겠습니다. Java에서 Json data를 처리하기 위해서 Gson library를 사용할 수 있습니다. Gson을 사용하다 보면 MalformedJsonException이 발생하는 경우가 있습니다. Restful API를 지원하는 서버와 통신하기 위해서 Retrofit/Gson을 사용하는 경우에도 발생할 수 있습니다. Retrofit에서 request/response body의 Json 객체를 처리하기 위해서 어떤 json libarary를 선택할 수 있는데 Retrofit 예제 코드에도 나와있듯이 gson을 많이 사용합니다. Retrofit, gson을 사용할 때 발생할 수 있습니다. MalformedJsonException이 발생한 ..

Java 2021.09.02

[Java] InputStream을 byte 배열(byte[])로 변환

Java에서 파일을 읽어서 처리할 때 InputStream을 byte 배열(byte array)로 변환하여 사용할 경우가 있습니다. 변환하는 데 Java에서 기본으로 제공하는 ByteArrayOutputStream 클래스를 사용합니다. InputStream.read()를 통해 데이터를 읽고 ByteArrayOutputStream 객체에 데이터를 write 하여 누적시킵니다. 그리고 최종적으로 toByteArray() 함수를 호출하여 byte array로 반환할 수 있습니다. 실제 구현 예제는 아래와 같습니다. 예제 InputStream is = null; ByteArrayOutputStream bos = new ByteArrayOutputStream(); int length; byte[] buffer =..

Java 2021.09.02

[Java] Ping 보내는 방법 InetAddress.isReachable()

Ping은 인터넷 IP로 접근하려는 Host에 Ping을 보내고 응답을 확인하여 Host에 접근 가능한지 확인하기 위한 도구입니다. Java의 InetAddress.isReachable() 함수는 엄밀히 얘기해서 ping utility와는 다른 방식으로 동작합니다. 본 포스트에서는 isReachable의 ping 동작방식은 다루지 않습니다. Java에서 InetAddress.isReachable() 함수를 사용해서 접근하려는 Host IP Address로 Ping을 보낼 수 있습니다. InetAddress는 Internet Protocol Address를 표현한 객체입니다. isReachable() 함수의 인자로 Timeout 값을 넣을 수 있고 Timeout 시간 이내에 Host가 응답하면 결과값이 t..

Java 2021.09.02

Java 리스트(List) 구현 - ArrayList, Vector, LinkedList

리스트(List)는 가장 많이 사용되는 데이터 자료구조이다. 다수의 특정 데이터를 리스트에 추가하여 관리하기가 편리하다. 리스트는 아래 그림과 같이 논리적인 순서를 가지고 있는 자료구조이다. 기본적으로 리스트가 지원하는 API는 add(), remove(), get(), contains() 등이 있고 리스트의 데이터를 추가, 삭제 할 수 있다. 또한 인덱스(index)로 리스트의 특정 원소에 접근할 수 있다. Set 자료구조와 달리 List는 중복 데이터를 저장할 수 있고 null도 저장할 수 있다. 리스트 인터페이스(interface)를 구현한 자료형에는 ArrayList, LinkedList, Vector 등이 있고 기본 예제들을 살펴보겠다. 1. ArrayList : List를 구현한 ArrayLi..

Java 2020.05.24
반응형