java
Java MultipartFile to String
nari0_0
2023. 10. 25. 14:54
728x90
Java8 기준 MultipartFile을 받아 InputStream으로 문자열로 변환하는 방법을 정리
1. InputStream의 read()를 사용해 문자열로 변환하는 방법
-available() 현재 읽을 수 있는 바이트 수
-read(byte[]) byte[]만큼의 데이터를 읽어서 매개변수에 저장하고 읽은 바이트 수 반환
private String readFileToContents(MultipartFile file) throws IOException {
try (InputStream is = file.getInputStream()) {
byte[] buf = new byte[is.available()];
int read = is.read(buf);
return new String(buf, 0, read);
}
}
2. BufferedReader 사용하여 InputStream을 문자열로 변환하는 방법
- lines()이 내부적으로 readLine() 메서드를 사용
- readLine()은 Line Feed [라인 피드] (“\n”), CarriageReturn[캐리지 리턴] (“\r”) 중 하나로 라인이 종료된다고 가정합니다.
private String readFileToContents(MultipartFile file) throws IOException {
try (InputStream is = file.getInputStream()) {
return new BufferedReader(new InputStreamReader(is)).lines().collect(Collectors.joining("\n"));
}
}
728x90