Java 스트림을 닫는 방법은 무엇입니까?

Taig

Java 6 Stream 처리를 볼 때마다 다음과 같이 수행됩니다.

public void myMethod() throws Exception
{
    InputStream stream = null;

    try
    {
        stream = connection.openConnection();
        ...
    }
    finally
    {
        if( stream != null )
        {
            stream.close();
        }
    }
}

그러나 나는 이것이 왜 필요한지 알지 못한다. 같은 방식으로 작동하지 않을까요?

public void myMethod() throws Exception
{
    InputStream stream = connection.openConnection();

    try
    {
        ...
    }
    finally
    {
        stream.close();
    }
}

경우 openConnection()에 실패 stream, 그렇지 할당되지 않습니다 다음 닫기 어쨌든 거기에 아무것도?

Thilo

동의합니다.

null과제 에 대한 추가 단계 는 불필요하고 추합니다. stream최종적으로 만들 수도 있습니다 .

내가 이와 같은 내용을 작성하는 유일한 경우는 정리해야하는 리소스가 두 개 이상 있고 (JDBC에서 많이 발생 함) 여러 중첩 된 try / finally 블록을 피하고 싶은 경우입니다 (하지만 일반적으로 해당 항목을 사용합니다. ).

그리고 Java 7에서는 try-with 구문을 사용할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java에서 입력 스트림을 출력 스트림에 연결하는 방법은 무엇입니까?

분류에서Dev

Java8 파일 스트림, 파일 닫기를 제어하는 방법은 무엇입니까?

분류에서Dev

Java에서 스캐너를 닫는 방법은 무엇입니까?

분류에서Dev

버튼으로 Java SWT 창을 닫는 방법은 무엇입니까?

분류에서Dev

Java에서 창을 강제로 닫는 방법은 무엇입니까?

분류에서Dev

박쥐로 특정 Java 창을 닫는 방법은 무엇입니까?

분류에서Dev

Java의 프로젝트에서 (html) 파일을 스트림으로 여는 방법은 무엇입니까?

분류에서Dev

Java 스트림을 사용하여 제수의 합을 찾는 방법은 무엇입니까?

분류에서Dev

Java 8 스트림을 사용하여 x 번 반복하는 방법은 무엇입니까?

분류에서Dev

Java 스트림을 사용하여 객체를 필터링하는 방법은 무엇입니까?

분류에서Dev

Java 스트림으로 목록에서 맵을 만드는 방법은 무엇입니까?

분류에서Dev

executorThreadsPool 대신 Java 병렬 스트림을 사용하는 방법은 무엇입니까?

분류에서Dev

Java 8의 String 배열에서 BigDecimal 스트림을 만드는 방법은 무엇입니까?

분류에서Dev

Java 8과 두 스트림의 교차점을 찾는 방법은 무엇입니까?

분류에서Dev

Get Controller가 메모리에서 삭제 될 때 스트림을 닫는 방법은 무엇입니까?

분류에서Dev

메서드에서 반환하기 전에 스트림을 닫는 방법은 무엇입니까?

분류에서Dev

스트림을 전달하는 가장 좋은 방법은 무엇입니까

분류에서Dev

Java에서 Kafka 연결을 수동으로 닫는 방법은 무엇입니까?

분류에서Dev

터미널-백그라운드에서 Java 앱을 실행하고 닫는 방법은 무엇입니까?

분류에서Dev

터미널-백그라운드에서 Java 앱을 실행하고 닫는 방법은 무엇입니까?

분류에서Dev

Java의 JInternalFrame에서 부모 프레임을 닫는 방법은 무엇입니까?

분류에서Dev

Java에서 재귀 닫기 작업을 처리하는 방법은 무엇입니까?

분류에서Dev

Linux에서 포트를 닫는 방법은 무엇입니까?

분류에서Dev

Java 8 스트림에서 내부 세트를 필터링하는 방법은 무엇입니까?

분류에서Dev

pyglet 창을 닫는 방법은 무엇입니까?

분류에서Dev

WebStorm에서 창을 닫는 방법은 무엇입니까?

분류에서Dev

byobu : 창을 강제로 닫는 방법은 무엇입니까?

분류에서Dev

OutputStream을 올바르게 닫는 방법은 무엇입니까?

분류에서Dev

JNDI 연결을 닫는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Java에서 입력 스트림을 출력 스트림에 연결하는 방법은 무엇입니까?

  2. 2

    Java8 파일 스트림, 파일 닫기를 제어하는 방법은 무엇입니까?

  3. 3

    Java에서 스캐너를 닫는 방법은 무엇입니까?

  4. 4

    버튼으로 Java SWT 창을 닫는 방법은 무엇입니까?

  5. 5

    Java에서 창을 강제로 닫는 방법은 무엇입니까?

  6. 6

    박쥐로 특정 Java 창을 닫는 방법은 무엇입니까?

  7. 7

    Java의 프로젝트에서 (html) 파일을 스트림으로 여는 방법은 무엇입니까?

  8. 8

    Java 스트림을 사용하여 제수의 합을 찾는 방법은 무엇입니까?

  9. 9

    Java 8 스트림을 사용하여 x 번 반복하는 방법은 무엇입니까?

  10. 10

    Java 스트림을 사용하여 객체를 필터링하는 방법은 무엇입니까?

  11. 11

    Java 스트림으로 목록에서 맵을 만드는 방법은 무엇입니까?

  12. 12

    executorThreadsPool 대신 Java 병렬 스트림을 사용하는 방법은 무엇입니까?

  13. 13

    Java 8의 String 배열에서 BigDecimal 스트림을 만드는 방법은 무엇입니까?

  14. 14

    Java 8과 두 스트림의 교차점을 찾는 방법은 무엇입니까?

  15. 15

    Get Controller가 메모리에서 삭제 될 때 스트림을 닫는 방법은 무엇입니까?

  16. 16

    메서드에서 반환하기 전에 스트림을 닫는 방법은 무엇입니까?

  17. 17

    스트림을 전달하는 가장 좋은 방법은 무엇입니까

  18. 18

    Java에서 Kafka 연결을 수동으로 닫는 방법은 무엇입니까?

  19. 19

    터미널-백그라운드에서 Java 앱을 실행하고 닫는 방법은 무엇입니까?

  20. 20

    터미널-백그라운드에서 Java 앱을 실행하고 닫는 방법은 무엇입니까?

  21. 21

    Java의 JInternalFrame에서 부모 프레임을 닫는 방법은 무엇입니까?

  22. 22

    Java에서 재귀 닫기 작업을 처리하는 방법은 무엇입니까?

  23. 23

    Linux에서 포트를 닫는 방법은 무엇입니까?

  24. 24

    Java 8 스트림에서 내부 세트를 필터링하는 방법은 무엇입니까?

  25. 25

    pyglet 창을 닫는 방법은 무엇입니까?

  26. 26

    WebStorm에서 창을 닫는 방법은 무엇입니까?

  27. 27

    byobu : 창을 강제로 닫는 방법은 무엇입니까?

  28. 28

    OutputStream을 올바르게 닫는 방법은 무엇입니까?

  29. 29

    JNDI 연결을 닫는 방법은 무엇입니까?

뜨겁다태그

보관