728x90
반응형
InputStream 을 String 으로 변환. Testcase 만들어주기.
- is 를 close 하지 않는건 파라미터로 받기 때문.
- Testcase 만들어주기.
package utils;
import lombok.extern.slf4j.Slf4j;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@Slf4j
public class ConvertUtils {
/**
* stream 을 string 변환
* is 를 close 하지 않는건 파라미터로 받기 때문.
* 입력 값을 변경하는 행위는 안하는게 좋다.
* @param is
* @return
*/
public static String convertInputStreamToString(InputStream is) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(is))) {
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
sb.append(line);
}
return sb.toString();
} catch (Throwable th) {
log.error(th.getMessage(), th);
throw new RuntimeException(th);
}
}
}
import org.junit.Assert;
import org.junit.Test;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.Charset;
import static org.hamcrest.Matchers.is;
public class ConvertUtilsTest {
@Test
public void convertInputStreamToStringTest() {
String text = "test";
InputStream is = new ByteArrayInputStream(text.getBytes(Charset.defaultCharset()));
Assert.assertThat(ConvertUtils.convertInputStreamToString(is), is(text));
}
}
'Java' 카테고리의 다른 글
apache httpclient post 방식 한글 깨짐 (0) | 2021.01.05 |
---|---|
ConvertUtils stringToMap 설명 및 테스트케이스 작성 (0) | 2020.12.15 |
자바 GC 정리 (0) | 2020.11.13 |
java primitive vs wrapper 설명 (0) | 2020.11.12 |
java Optional 설명 (0) | 2020.11.07 |
댓글