송파구청 특강 (2021-06 ~ 2021-07)/SpringBoot

강의3

배워도끝이없네 2021. 6. 28. 12:33

 

inputStream => read /내용물을 빨아드린다

outputStream => write / 내용물을 쓴다 (복사)

 

socket에는 TCP를보면 2가지 메서드가 있다

1. getInputStream()

2. getOutputStream()

 

네트워크는 이것에서 URL로 바뀌는것이다

 

URL ->in    ->out 

 

다운로드 받으려면

1. 대상 URL을 결정 ->GET방식(이미지같은경우 대부분 GET방식이다) ->브라우저에서 확인 가능하면 좋다.

2. URL 객체를 생성해야한다. ->getInputStream(), openStream등을 하면 InputStream을 얻어온다.

3. OutputStream구하기 -> 대표적으로 FileOutputStream

4. 읽고 쓰기를 한다. -> Files.copy( ) 기능을 하면 수월하게 복사가 가능하다.

 

URL을 주면 헤더는 빠지고 바디메세지만 온다

 

 

   @Test
    public void testSave() throws Exception{
        //실제 이미지 경로
        String path = "https://thumbnail9.coupangcdn.com/thumbnails/remote/230x230ex/image/retail/images/81447876542865-b2de1636-9d42-4236-be96-aad9ff331eb2.jpg";

        URL url = new URL(path);

        //read
        InputStream in = url.openStream();

        //write
        File fos = new File("C:\\zz\\sample.jpg");

        //copy
        Files.copy(in, fos.toPath());
    }

 

 

인텔리j에서 파일인코딩이 깨진다면

 

Edit custom VM options를 열어

 

-Dfile.encoding=UTF-8을 입력해주고 재시작하면 JVM에서 자동으로 UTF-8로 해준다.

 

 

'송파구청 특강 (2021-06 ~ 2021-07) > SpringBoot' 카테고리의 다른 글

강의6  (0) 2021.06.28
강의5  (0) 2021.06.28
강의4  (0) 2021.06.28
강의2  (0) 2021.06.28
강의1  (0) 2021.06.28