Hello

Java MultipartFile to String 본문

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